can: Add missing socket check in can/bcm release.
authorDave Jones <davej@redhat.com>
Wed, 20 Apr 2011 03:36:59 +0000 (20:36 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Apr 2011 03:36:59 +0000 (20:36 -0700)
We can get here with a NULL socket argument passed from userspace,
so we need to handle it accordingly.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/can/bcm.c

index 57b1aed79014cdd6022fa04175a1344139f57334..8a6a05e7c3c8de434caf5ffbbb42316086c847b2 100644 (file)
@@ -1427,9 +1427,14 @@ static int bcm_init(struct sock *sk)
 static int bcm_release(struct socket *sock)
 {
        struct sock *sk = sock->sk;
-       struct bcm_sock *bo = bcm_sk(sk);
+       struct bcm_sock *bo;
        struct bcm_op *op, *next;
 
+       if (sk == NULL)
+               return 0;
+
+       bo = bcm_sk(sk);
+
        /* remove bcm_ops, timer, rx_unregister(), etc. */
 
        unregister_netdevice_notifier(&bo->notifier);