From 9c09e4054cf8b9636a428941a0e44da6590e7571 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 14 Aug 2003 07:17:14 -0700 Subject: [PATCH] [NETROM]: Fix use after free in socket close. netrom would oops if one did: modprobe netrom ifconfig -a because the code in destroy was freeing the socket then release_sock was called. --- net/netrom/af_netrom.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c index 83f73377f16d5..1aff3e1b22254 100644 --- a/net/netrom/af_netrom.c +++ b/net/netrom/af_netrom.c @@ -516,6 +516,7 @@ static int nr_release(struct socket *sock) if (sk == NULL) return 0; + sock_hold(sk); lock_sock(sk); nr = nr_sk(sk); @@ -551,6 +552,7 @@ static int nr_release(struct socket *sock) sock->sk = NULL; release_sock(sk); + sock_put(sk); return 0; } -- 2.53.0