]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 9 May 2011 23:04:45 +0000 (16:04 -0700)
commit c6914a6f261aca0c9f715f883a353ae7ff51fe83 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/can/bcm.c

index 3c03cb00b7901f93da4ebc76ab4aa03e9e60afd2..f7ae8d37cf294157c4880bb986db5f1cdced8b0e 100644 (file)
@@ -1412,9 +1412,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);