X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=net%2Fcan%2Fraw.c;h=201cbfc6b9ece724b3cda9427f27d976534567c7;hb=5dae61b80564a5583ff4b56e357bdbc733fddb76;hp=94cd7f27c44470109263bd653301e9944b403496;hpb=6a306e8b4c81a1c1f538e390d92bfe80d04b254c;p=karo-tx-linux.git diff --git a/net/can/raw.c b/net/can/raw.c index 94cd7f27c444..201cbfc6b9ec 100644 --- a/net/can/raw.c +++ b/net/can/raw.c @@ -210,7 +210,7 @@ static int raw_notifier(struct notifier_block *nb, struct raw_sock *ro = container_of(nb, struct raw_sock, notifier); struct sock *sk = &ro->sk; - if (dev->nd_net != &init_net) + if (dev_net(dev) != &init_net) return NOTIFY_DONE; if (dev->type != ARPHRD_CAN) @@ -573,7 +573,8 @@ static int raw_getsockopt(struct socket *sock, int level, int optname, int fsize = ro->count * sizeof(struct can_filter); if (len > fsize) len = fsize; - err = copy_to_user(optval, ro->filter, len); + if (copy_to_user(optval, ro->filter, len)) + err = -EFAULT; } else len = 0; release_sock(sk);