aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/nf_queue.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2007-12-05 01:27:02 -0800
committerDavid S. Miller <davem@davemloft.net>2008-01-28 14:56:15 -0800
commit4b3d15ef4a88683d93d1b76351297d2298a02a99 (patch)
treeec8b02db4089a03e179a48190ded490ddc082004 /net/netfilter/nf_queue.c
parent[NETFILTER]: nf_queue: move list_head/skb/id to struct nf_info (diff)
downloadlinux-dev-4b3d15ef4a88683d93d1b76351297d2298a02a99.tar.xz
linux-dev-4b3d15ef4a88683d93d1b76351297d2298a02a99.zip
[NETFILTER]: {nfnetlink,ip,ip6}_queue: kill issue_verdict
Now that issue_verdict doesn't need to free the queue entries anymore, all it does is disable local BHs and call nf_reinject. Move the BH disabling to the okfn invocation in nf_reinject and kill the issue_verdict functions. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netfilter/nf_queue.c')
-rw-r--r--net/netfilter/nf_queue.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/netfilter/nf_queue.c b/net/netfilter/nf_queue.c
index d9d3dc4ce1a3..f0dc72704111 100644
--- a/net/netfilter/nf_queue.c
+++ b/net/netfilter/nf_queue.c
@@ -275,7 +275,9 @@ void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict)
switch (verdict & NF_VERDICT_MASK) {
case NF_ACCEPT:
case NF_STOP:
+ local_bh_disable();
entry->okfn(skb);
+ local_bh_enable();
case NF_STOLEN:
break;
case NF_QUEUE: