diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2008-11-25 16:53:27 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-25 16:53:27 -0500 |
commit | 5bc0b3bfa758e4ae49c94e31c1edb9a5f10a8060 (patch) | |
tree | 229c10e9c3db1b0e6b1dc0ac2b3964340d2f1732 /net/sctp/socket.c | |
parent | 8eecaba900e89643029fd2c253ad8ebb60761165 (diff) |
net: Make sure BHs are disabled in sock_prot_inuse_add()
prot->destroy is not called with BH disabled. So we must add
explicit BH disable around call to sock_prot_inuse_add()
in sctp_destroy_sock()
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/socket.c')
-rw-r--r-- | net/sctp/socket.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index f03af84edf63..ba81fe3ccab8 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
@@ -3633,7 +3633,9 @@ SCTP_STATIC void sctp_destroy_sock(struct sock *sk) | |||
3633 | ep = sctp_sk(sk)->ep; | 3633 | ep = sctp_sk(sk)->ep; |
3634 | sctp_endpoint_free(ep); | 3634 | sctp_endpoint_free(ep); |
3635 | atomic_dec(&sctp_sockets_allocated); | 3635 | atomic_dec(&sctp_sockets_allocated); |
3636 | local_bh_disable(); | ||
3636 | sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1); | 3637 | sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1); |
3638 | local_bh_enable(); | ||
3637 | } | 3639 | } |
3638 | 3640 | ||
3639 | /* API 4.1.7 shutdown() - TCP Style Syntax | 3641 | /* API 4.1.7 shutdown() - TCP Style Syntax |