can: af_can: fix NULL pointer dereference in can_rx_register()
[platform/kernel/linux-rpi.git] / net / can / af_can.c
index cce2af1..4ddefa6 100644 (file)
@@ -451,7 +451,7 @@ int can_rx_register(struct net *net, struct net_device *dev, canid_t can_id,
 
        /* insert new receiver  (dev,canid,mask) -> (func,data) */
 
-       if (dev && dev->type != ARPHRD_CAN)
+       if (dev && (dev->type != ARPHRD_CAN || !can_get_ml_priv(dev)))
                return -ENODEV;
 
        if (dev && !net_eq(net, dev_net(dev)))