netfilter: ipset: use nfnl_mutex_is_locked
authorFlorian Westphal <fw@strlen.de>
Thu, 30 Nov 2017 20:07:32 +0000 (21:07 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 8 Jan 2018 17:01:03 +0000 (18:01 +0100)
Check that we really hold nfnl mutex here instead of relying on correct
usage alone.

Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/ipset/ip_set_core.c

index d5a43cad90f04c361f7d366f1720d0e2c3982ea8..1f3c03b3bebf2a99a7f31da4a249a154e5f7607e 100644 (file)
@@ -57,7 +57,7 @@ MODULE_ALIAS_NFNL_SUBSYS(NFNL_SUBSYS_IPSET);
 
 /* When the nfnl mutex is held: */
 #define ip_set_dereference(p)          \
-       rcu_dereference_protected(p, 1)
+       rcu_dereference_protected(p, lockdep_nfnl_is_held(NFNL_SUBSYS_IPSET))
 #define ip_set(inst, id)               \
        ip_set_dereference((inst)->ip_set_list)[id]