net: Make sure BHs are disabled in sock_prot_inuse_add()
authorEric Dumazet <dada1@cosmosbay.com>
Mon, 24 Nov 2008 22:05:22 +0000 (14:05 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Nov 2008 22:05:22 +0000 (14:05 -0800)
There is still a call to sock_prot_inuse_add() in af_netlink
while in a preemptable section. Add explicit BH disable around
this call.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netlink/af_netlink.c

index c7d76579bf3cbe89c4c8436f87f932a53f519e2e..9eb895c7a2a97bb87076f715ce5c692f74e51505 100644 (file)
@@ -515,7 +515,9 @@ static int netlink_release(struct socket *sock)
        kfree(nlk->groups);
        nlk->groups = NULL;
 
+       local_bh_disable();
        sock_prot_inuse_add(sock_net(sk), &netlink_proto, -1);
+       local_bh_enable();
        sock_put(sk);
        return 0;
 }