netfilter: ctnetlink: remove incorrect spin_[un]lock_bh on NAT module autoload
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 6 Mar 2012 01:22:51 +0000 (01:22 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Mar 2012 19:43:49 +0000 (14:43 -0500)
Since 7d367e0, ctnetlink_new_conntrack is called without holding
the nf_conntrack_lock spinlock. Thus, ctnetlink_parse_nat_setup
does not require to release that spinlock anymore in the NAT module
autoload case.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netfilter/nf_conntrack_netlink.c

index 30c9d4ca02180e050d3b98c8480b83dfc71047b9..10687692831eb5f5f097568f0d292fa530c796f1 100644 (file)
@@ -1041,16 +1041,13 @@ ctnetlink_parse_nat_setup(struct nf_conn *ct,
        if (!parse_nat_setup) {
 #ifdef CONFIG_MODULES
                rcu_read_unlock();
-               spin_unlock_bh(&nf_conntrack_lock);
                nfnl_unlock();
                if (request_module("nf-nat-ipv4") < 0) {
                        nfnl_lock();
-                       spin_lock_bh(&nf_conntrack_lock);
                        rcu_read_lock();
                        return -EOPNOTSUPP;
                }
                nfnl_lock();
-               spin_lock_bh(&nf_conntrack_lock);
                rcu_read_lock();
                if (nfnetlink_parse_nat_setup_hook)
                        return -EAGAIN;