appletalk: Fix OOPS in atalk_release().

Commit 60d9f461a20ba59219fdcdc30cbf8e3a4ad3f625 ("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>

+6 -5
+6 -5
net/appletalk/ddp.c
··· 1051 { 1052 struct sock *sk = sock->sk; 1053 1054 - sock_hold(sk); 1055 - lock_sock(sk); 1056 if (sk) { 1057 sock_orphan(sk); 1058 sock->sk = NULL; 1059 atalk_destroy_socket(sk); 1060 - } 1061 - release_sock(sk); 1062 - sock_put(sk); 1063 1064 return 0; 1065 } 1066
··· 1051 { 1052 struct sock *sk = sock->sk; 1053 1054 if (sk) { 1055 + sock_hold(sk); 1056 + lock_sock(sk); 1057 + 1058 sock_orphan(sk); 1059 sock->sk = NULL; 1060 atalk_destroy_socket(sk); 1061 1062 + release_sock(sk); 1063 + sock_put(sk); 1064 + } 1065 return 0; 1066 } 1067