summaryrefslogtreecommitdiffstats
path: root/net/netfilter
diff options
context:
space:
mode:
authorTaehee Yoo2018-12-08 03:03:01 +0100
committerGreg Kroah-Hartman2019-01-13 09:50:59 +0100
commit7fd995d3b4446649fd29909072fa78bc076346cd (patch)
treee91d9c54cb5ff950c31237927378002c01b65eb9 /net/netfilter
parentnetfilter: nat: can't use dst_hold on noref dst (diff)
downloadkernel-qcow2-linux-7fd995d3b4446649fd29909072fa78bc076346cd.tar.gz
kernel-qcow2-linux-7fd995d3b4446649fd29909072fa78bc076346cd.tar.xz
kernel-qcow2-linux-7fd995d3b4446649fd29909072fa78bc076346cd.zip
netfilter: nf_conncount: use rb_link_node_rcu() instead of rb_link_node()
[ Upstream commit d4e7df16567b80836a78d31b42f1a9355a636d67 ] rbnode in insert_tree() is rcu protected pointer. So, in order to handle this pointer, _rcu function should be used. rb_link_node_rcu() is a rcu version of rb_link_node(). Fixes: 34848d5c896e ("netfilter: nf_conncount: Split insert and traversal") Signed-off-by: Taehee Yoo <ap420073@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net/netfilter')
-rw-r--r--net/netfilter/nf_conncount.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/nf_conncount.c b/net/netfilter/nf_conncount.c
index b6d0f6deea86..9cd180bda092 100644
--- a/net/netfilter/nf_conncount.c
+++ b/net/netfilter/nf_conncount.c
@@ -427,7 +427,7 @@ insert_tree(struct net *net,
count = 1;
rbconn->list.count = count;
- rb_link_node(&rbconn->node, parent, rbnode);
+ rb_link_node_rcu(&rbconn->node, parent, rbnode);
rb_insert_color(&rbconn->node, root);
out_unlock:
spin_unlock_bh(&nf_conncount_locks[hash % CONNCOUNT_LOCK_SLOTS]);