summaryrefslogtreecommitdiffstats
path: root/include/linux/skbuff.h
diff options
context:
space:
mode:
authorHannes Frederic Sowa2013-08-01 08:54:47 +0200
committerDavid S. Miller2013-08-01 09:26:22 +0200
commit46b3a421903aa2a4bc9731ca4663cee3ea869dab (patch)
tree79fe45a2dcc4055edddf87069ce278f3ce78176f /include/linux/skbuff.h
parentcls_cgroup.h netprio_cgroup.h: Remove extern from function prototypes (diff)
downloadkernel-qcow2-linux-46b3a421903aa2a4bc9731ca4663cee3ea869dab.tar.gz
kernel-qcow2-linux-46b3a421903aa2a4bc9731ca4663cee3ea869dab.tar.xz
kernel-qcow2-linux-46b3a421903aa2a4bc9731ca4663cee3ea869dab.zip
ipv6: fib6_rules should return exact return value
With the addition of the suppress operation (7764a45a8f1fe74d4f7d301eaca2e558e7e2831a ("fib_rules: add .suppress operation") we rely on accurate error reporting of the fib_rules.actions. fib6_rule_action always returned -EAGAIN in case we could not find a matching route and 0 if a rule was matched. This also included a match for blackhole or prohibited rule actions which could get suppressed by the new logic. So adapt fib6_rule_action to always return the correct error code as its counterpart fib4_rule_action does. This also fixes a possiblity of nullptr-deref where we don't find a table, thus rt == NULL. Because the condition rt != ip6_null_entry still holdes it seems we could later get a nullptr bug on dereference rt->dst. v2: a) Fixed a brain fart in the commit msg (the rule => a table, etc). No changes to the patch. Cc: Stefan Tomanek <stefan.tomanek@wertarbyte.de> Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/skbuff.h')
0 files changed, 0 insertions, 0 deletions