aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-10-25 02:30:50 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2011-11-11 09:44:01 -0800
commite2e70d61f72a03751e0b44e4d2630ce5fdf158c4 (patch)
tree3b39e4f549ad40300026349dbcd211e55bac7ef7
parent58f18f91c6758bfe5375125f63615bbd18ed506b (diff)
downloadlinux-linaro-precise-e2e70d61f72a03751e0b44e4d2630ce5fdf158c4.tar.gz
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>
-rw-r--r--net/core/sock.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/sock.c b/net/core/sock.c
index bc745d00ea4..11d67b36c32 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1260,6 +1260,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;