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>
This commit is contained in:
@@ -1051,16 +1051,17 @@ static int atalk_release(struct socket *sock)
|
|||||||
{
|
{
|
||||||
struct sock *sk = sock->sk;
|
struct sock *sk = sock->sk;
|
||||||
|
|
||||||
sock_hold(sk);
|
|
||||||
lock_sock(sk);
|
|
||||||
if (sk) {
|
if (sk) {
|
||||||
|
sock_hold(sk);
|
||||||
|
lock_sock(sk);
|
||||||
|
|
||||||
sock_orphan(sk);
|
sock_orphan(sk);
|
||||||
sock->sk = NULL;
|
sock->sk = NULL;
|
||||||
atalk_destroy_socket(sk);
|
atalk_destroy_socket(sk);
|
||||||
}
|
|
||||||
release_sock(sk);
|
|
||||||
sock_put(sk);
|
|
||||||
|
|
||||||
|
release_sock(sk);
|
||||||
|
sock_put(sk);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user