]> git.baikalelectronics.ru Git - kernel.git/commit
net: Improve handling of failures on link and route dumps
authorDavid Ahern <dsahern@gmail.com>
Tue, 16 May 2017 06:19:17 +0000 (23:19 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 May 2017 18:54:11 +0000 (14:54 -0400)
commitc1797c172650a2e4af86e755190109599f5b66fd
tree81509058479d9044f36229fafd3c1a603f101204
parent09241d96dc7cb6d6beaa7d75da6e0c24d7e28b19
net: Improve handling of failures on link and route dumps

In general, rtnetlink dumps do not anticipate failure to dump a single
object (e.g., link or route) on a single pass. As both route and link
objects have grown via more attributes, that is no longer a given.

netlink dumps can handle a failure if the dump function returns an
error; specifically, netlink_dump adds the return code to the response
if it is <= 0 so userspace is notified of the failure. The missing
piece is the rtnetlink dump functions returning the error.

Fix route and link dump functions to return the errors if no object is
added to an skb (detected by skb->len != 0). IPv6 route dumps
(rt6_dump_route) already return the error; this patch updates IPv4 and
link dumps. Other dump functions may need to be ajusted as well.

Reported-by: Jan Moskyto Matejka <mq@ucw.cz>
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c
net/ipv4/fib_frontend.c
net/ipv4/fib_trie.c