1
0
Fork 0

appletalk: Fix OOPS in atalk_release().

Commit 60d9f461a2 ("appletalk: remove
the BKL") added a dereference of "sk" before checking for NULL in
atalk_release().

Guard the code block completely, rather than partially, with the
NULL check.

Reported-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
wifi-calibration
David S. Miller 2011-03-31 18:59:10 -07:00
parent c379474591
commit c100c8f4c3
1 changed files with 6 additions and 5 deletions

View File

@ -1051,16 +1051,17 @@ static int atalk_release(struct socket *sock)
{
struct sock *sk = sock->sk;
sock_hold(sk);
lock_sock(sk);
if (sk) {
sock_hold(sk);
lock_sock(sk);
sock_orphan(sk);
sock->sk = NULL;
atalk_destroy_socket(sk);
}
release_sock(sk);
sock_put(sk);
release_sock(sk);
sock_put(sk);
}
return 0;
}