summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2010-02-19 08:03:28 +0100
committerPatrick McHardy <kaber@trash.net>2010-02-19 08:03:28 +0100
commit4bac6b180771f7ef5275b1a6d88e630ca3a3d6f0 (patch)
tree3a528ddf792daea358d00d20e1065b6ed5bab30c
parent37ee3d5b3e979a168536e7e2f15bd1e769cb4122 (diff)
downloadlinux-stable-4bac6b180771f7ef5275b1a6d88e630ca3a3d6f0.tar.gz
linux-stable-4bac6b180771f7ef5275b1a6d88e630ca3a3d6f0.tar.bz2
linux-stable-4bac6b180771f7ef5275b1a6d88e630ca3a3d6f0.zip
netfilter: restore POST_ROUTING hook in NF_HOOK_COND
Commit 2249065 ("netfilter: get rid of the grossness in netfilter.h") inverted the logic for conditional hook invocation, breaking the POST_ROUTING hook invoked by ip_output(). Correct the logic and remove an unnecessary initialization. Reported-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r--include/linux/netfilter.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h
index 70079454ffd0..89341c32631a 100644
--- a/include/linux/netfilter.h
+++ b/include/linux/netfilter.h
@@ -212,8 +212,9 @@ NF_HOOK_COND(uint8_t pf, unsigned int hook, struct sk_buff *skb,
struct net_device *in, struct net_device *out,
int (*okfn)(struct sk_buff *), bool cond)
{
- int ret = 1;
- if (cond ||
+ int ret;
+
+ if (!cond ||
(ret = nf_hook_thresh(pf, hook, skb, in, out, okfn, INT_MIN) == 1))
ret = okfn(skb);
return ret;