diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-10-25 02:30:50 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-11 09:36:50 -0800 |
commit | 5796ee30587cb5f887a7fe6182c2bbcc3d31f0ad (patch) | |
tree | bdc1b7ccbd37b1b5905e4f228de602752c4c9539 /net | |
parent | ce0f562ecf544f386b6ae95f490cd06f7da2deb4 (diff) |
net: Unlock sock before calling sk_free()
[ Upstream commit b0691c8ee7c28a72748ff32e91b165ec12ae4de6 ]
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/sock.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/sock.c b/net/core/sock.c index 6e819780c23..aebb419519b 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -1257,6 +1257,7 @@ struct sock *sk_clone(const struct sock *sk, const gfp_t priority) /* It is still raw copy of parent, so invalidate * destructor and make plain sk_free() */ newsk->sk_destruct = NULL; + bh_unlock_sock(newsk); sk_free(newsk); newsk = NULL; goto out; |