projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c379474
)
appletalk: Fix OOPS in atalk_release().
author
David S. Miller
<
[email protected]
>
Fri, 1 Apr 2011 01:59:10 +0000
(18:59 -0700)
committer
David S. Miller
<
[email protected]
>
Fri, 1 Apr 2011 01:59:10 +0000
(18:59 -0700)
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 <
[email protected]
>
Signed-off-by: David S. Miller <
[email protected]
>
net/appletalk/ddp.c
patch
|
blob
|
history
diff --git
a/net/appletalk/ddp.c
b/net/appletalk/ddp.c
index 206e771e82d17ce77b7c99447f12437f4fd300c5..956a5302002a3dbc1059d0c50511102159648cdd 100644
(file)
--- a/
net/appletalk/ddp.c
+++ b/
net/appletalk/ddp.c
@@
-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;
}