X-Git-Url: http://git.agner.ch/gitweb/?a=blobdiff_plain;f=net%2Fnetfilter%2Fnf_conntrack_proto.c;h=5886ba1d52a0c353a2538313c717328cacfdcac3;hb=e854df613fe934c94a0b39eccb4104e72ccbbded;hp=a44fa75b51783beefa9c44c93b70fba619df5d78;hpb=d71f4cece4bd97d05592836202fc04ff2e7817e3;p=linux-drm-fsl-dcu.git diff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c index a44fa75b5178..5886ba1d52a0 100644 --- a/net/netfilter/nf_conntrack_proto.c +++ b/net/netfilter/nf_conntrack_proto.c @@ -14,12 +14,10 @@ #include #include #include -#include #include #include #include #include -#include #include #include #include @@ -119,9 +117,13 @@ void nf_ct_l3proto_module_put(unsigned short l3proto) { struct nf_conntrack_l3proto *p; - /* rcu_read_lock not necessary since the caller holds a reference */ + /* rcu_read_lock not necessary since the caller holds a reference, but + * taken anyways to avoid lockdep warnings in __nf_ct_l3proto_find() + */ + rcu_read_lock(); p = __nf_ct_l3proto_find(l3proto); module_put(p->me); + rcu_read_unlock(); } EXPORT_SYMBOL_GPL(nf_ct_l3proto_module_put);