summaryrefslogtreecommitdiffstats
path: root/net/netfilter
diff options
context:
space:
mode:
authorLiping Zhang <liping.zhang@spreadtrum.com>2016-08-08 22:07:27 +0800
committerBen Hutchings <ben@decadent.org.uk>2016-11-20 01:17:07 +0000
commit523dee12582fea60725afbbf560b50ca94d98cf9 (patch)
tree5b6f5c7ec834f4db13b724874787b3eb3ee19dae /net/netfilter
parent7bd848a9281212f1a022fcbb8049cb551e15506e (diff)
downloadlinux-stable-523dee12582fea60725afbbf560b50ca94d98cf9.tar.gz
linux-stable-523dee12582fea60725afbbf560b50ca94d98cf9.tar.bz2
linux-stable-523dee12582fea60725afbbf560b50ca94d98cf9.zip
netfilter: nfnetlink_queue: reject verdict request from different portid
commit 00a3101f561816e58de054a470484996f78eb5eb upstream. Like NFQNL_MSG_VERDICT_BATCH do, we should also reject the verdict request when the portid is not same with the initial portid(maybe from another process). Fixes: 97d32cf9440d ("netfilter: nfnetlink_queue: batch verdict support") Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com> Reviewed-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> [bwh: Backported to 3.16: adjust filename] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'net/netfilter')
-rw-r--r--net/netfilter/nfnetlink_queue_core.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/netfilter/nfnetlink_queue_core.c b/net/netfilter/nfnetlink_queue_core.c
index 7a83e57ad3f1..bd55f0c31795 100644
--- a/net/netfilter/nfnetlink_queue_core.c
+++ b/net/netfilter/nfnetlink_queue_core.c
@@ -985,10 +985,8 @@ nfqnl_recv_verdict(struct sock *ctnl, struct sk_buff *skb,
struct net *net = sock_net(ctnl);
struct nfnl_queue_net *q = nfnl_queue_pernet(net);
- queue = instance_lookup(q, queue_num);
- if (!queue)
- queue = verdict_instance_lookup(q, queue_num,
- NETLINK_CB(skb).portid);
+ queue = verdict_instance_lookup(q, queue_num,
+ NETLINK_CB(skb).portid);
if (IS_ERR(queue))
return PTR_ERR(queue);