diff options
-rw-r--r-- | net/can/raw.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/net/can/raw.c b/net/can/raw.c index 96fe0b5e3e1e..54517f9b1662 100644 --- a/net/can/raw.c +++ b/net/can/raw.c | |||
@@ -365,8 +365,9 @@ static int raw_release(struct socket *sock) | |||
365 | raw_disable_allfilters(dev_net(dev), dev, sk); | 365 | raw_disable_allfilters(dev_net(dev), dev, sk); |
366 | dev_put(dev); | 366 | dev_put(dev); |
367 | } | 367 | } |
368 | } else | 368 | } else { |
369 | raw_disable_allfilters(sock_net(sk), NULL, sk); | 369 | raw_disable_allfilters(sock_net(sk), NULL, sk); |
370 | } | ||
370 | } | 371 | } |
371 | 372 | ||
372 | if (ro->count > 1) | 373 | if (ro->count > 1) |
@@ -446,8 +447,9 @@ static int raw_bind(struct socket *sock, struct sockaddr *uaddr, int len) | |||
446 | dev, sk); | 447 | dev, sk); |
447 | dev_put(dev); | 448 | dev_put(dev); |
448 | } | 449 | } |
449 | } else | 450 | } else { |
450 | raw_disable_allfilters(sock_net(sk), NULL, sk); | 451 | raw_disable_allfilters(sock_net(sk), NULL, sk); |
452 | } | ||
451 | } | 453 | } |
452 | ro->ifindex = ifindex; | 454 | ro->ifindex = ifindex; |
453 | ro->bound = 1; | 455 | ro->bound = 1; |
@@ -669,8 +671,9 @@ static int raw_getsockopt(struct socket *sock, int level, int optname, | |||
669 | len = fsize; | 671 | len = fsize; |
670 | if (copy_to_user(optval, ro->filter, len)) | 672 | if (copy_to_user(optval, ro->filter, len)) |
671 | err = -EFAULT; | 673 | err = -EFAULT; |
672 | } else | 674 | } else { |
673 | len = 0; | 675 | len = 0; |
676 | } | ||
674 | release_sock(sk); | 677 | release_sock(sk); |
675 | 678 | ||
676 | if (!err) | 679 | if (!err) |
@@ -737,8 +740,9 @@ static int raw_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) | |||
737 | return -EINVAL; | 740 | return -EINVAL; |
738 | 741 | ||
739 | ifindex = addr->can_ifindex; | 742 | ifindex = addr->can_ifindex; |
740 | } else | 743 | } else { |
741 | ifindex = ro->ifindex; | 744 | ifindex = ro->ifindex; |
745 | } | ||
742 | 746 | ||
743 | dev = dev_get_by_index(sock_net(sk), ifindex); | 747 | dev = dev_get_by_index(sock_net(sk), ifindex); |
744 | if (!dev) | 748 | if (!dev) |