fib_rules: Fix dump_rules() not to exit early
authorRoland Dreier <roland@purestorage.com>
Mon, 5 Oct 2015 17:29:28 +0000 (10:29 -0700)
committerDanny Wood <danwood76@gmail.com>
Tue, 29 Jan 2019 13:10:30 +0000 (13:10 +0000)
commitb94f9541eb00ebea126781573511d5cd9728c4c0
treebfed21c9e818f497411de4693ec31297d70d4e09
parent83aeb9f334f773869c147d214bf99a69461de835
fib_rules: Fix dump_rules() not to exit early

Backports of 41fc014332d9 ("fib_rules: fix fib rule dumps across
multiple skbs") introduced a regression in "ip rule show" - it ends up
dumping the first rule over and over and never exiting, because 3.19
and earlier are missing commit 053c095a82cf ("netlink: make
nlmsg_end() and genlmsg_end() void"), so fib_nl_fill_rule() ends up
returning skb->len (i.e. > 0) in the success case.

Fix this by checking the return code for < 0 instead of != 0.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/core/fib_rules.c