Commit fa809e2f authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

ipv6: fib: fix fib dump restart

Commit 2bec5a36 (ipv6: fib: fix crash when changing large fib
while dumping it) introduced ability to restart the dump at tree root,
but failed to skip correctly a count of already dumped entries. Code
didn't match Patrick intent.

We must skip exactly the number of already dumped entries.

Note that like other /proc/net files or netlink producers, we could
still dump some duplicates entries.
Reported-by: default avatarDebabrata Banerjee <dbavatar@gmail.com>
Reported-by: default avatarJosh Hunt <johunt@akamai.com>
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8b8e4bc0
...@@ -1349,8 +1349,8 @@ static int fib6_walk_continue(struct fib6_walker_t *w) ...@@ -1349,8 +1349,8 @@ static int fib6_walk_continue(struct fib6_walker_t *w)
if (w->leaf && fn->fn_flags & RTN_RTINFO) { if (w->leaf && fn->fn_flags & RTN_RTINFO) {
int err; int err;
if (w->count < w->skip) { if (w->skip) {
w->count++; w->skip--;
continue; continue;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment