ipv6: fib: fix fib dump restart
authorKumar Sundararajan <kumar@fb.com>
Thu, 24 Apr 2014 13:48:53 +0000 (09:48 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 May 2014 20:20:35 +0000 (13:20 -0700)
commit321dbc0d61b02e47f0159e8f194ab25b85bae04d
treef29b9fe95a376253ea6415740bd240b888bd2b5c
parent657cad06d60c2c7f032257125683627fb5480d21
ipv6: fib: fix fib dump restart

[ Upstream commit 1c2658545816088477e91860c3a645053719cb54 ]

When the ipv6 fib changes during a table dump, the walk is
restarted and the number of nodes dumped are skipped. But the existing
code doesn't advance to the next node after a node is skipped. This can
cause the dump to loop or produce lots of duplicates when the fib
is modified during the dump.

This change advances the walk to the next node if the current node is
skipped after a restart.

Signed-off-by: Kumar Sundararajan <kumar@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv6/ip6_fib.c