can: add missing socket check in can/raw release
Subsystems (3)
Oliver Hartkopp
maintainerPATCH v2 1/1 can: add missing socket check in can/raw release
v2: added space after 'if' according code style.
We can get here with a NULL socket argument passed from userspace, so we need to handle it accordingly.
Thanks to Dave Jones pointing at this issue in net/can/bcm.c
---
net/can/raw.c +6 -1
@@ -305,7 +305,12 @@ static int raw_init(struct sock *sk)static int raw_release (struct socket *sock) {struct sock *sk = sock->sk; -struct raw_sock *ro =raw_sk (sk); +struct raw_sock *ro; + +if (!sk) +return 0 ; + + ro =raw_sk (sk);unregister_netdevice_notifier (&ro->notifier);
Quoted 8 lines · Oliver Hartkopp
v2: added space after 'if' according code style.
We can get here with a NULL socket argument passed from userspace, so we need to handle it accordingly.
Thanks to Dave Jones pointing at this issue in
net/can/bcm.cSigned-off-by Oliver Hartkopp <[email protected]>
ACK. That was the first thing I hit this morning ;-)
Dave
David Miller
maintainerFrom: Dave Jones <[email protected]>
Date: Wed, 20 Apr 2011 13:03:34 -0400
Quoted 11 lines · Oliver Hartkopp
Quoted 8 lines
v2: added space after 'if' according code style.
We can get here with a NULL socket argument passed from userspace, so we need to handle it accordingly.
Thanks to Dave Jones pointing at this issue in
net/can/bcm.cSigned-off-by Oliver Hartkopp <[email protected]>ACK. That was the first thing I hit this morning ;-)
Aha, so this patch fixes the same bug in a different part of CAN, I missed that :-)
Ok I'll apply this, thanks!