Check midx against 0 is always equal to check midx against sk_bound_dev_if
when sk_bound_dev_if is known not equal to 0 in these case.

Signed-off-by: Miaohe Lin <linmia...@huawei.com>
---
 net/ipv4/ip_sockglue.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
index d2c223554ff7..ec6036713e2c 100644
--- a/net/ipv4/ip_sockglue.c
+++ b/net/ipv4/ip_sockglue.c
@@ -1124,8 +1124,7 @@ static int do_ip_setsockopt(struct sock *sk, int level, 
int optname,
                dev_put(dev);
 
                err = -EINVAL;
-               if (sk->sk_bound_dev_if &&
-                   (!midx || midx != sk->sk_bound_dev_if))
+               if (sk->sk_bound_dev_if && midx != sk->sk_bound_dev_if)
                        break;
 
                inet->uc_index = ifindex;
@@ -1189,7 +1188,7 @@ static int do_ip_setsockopt(struct sock *sk, int level, 
int optname,
                err = -EINVAL;
                if (sk->sk_bound_dev_if &&
                    mreq.imr_ifindex != sk->sk_bound_dev_if &&
-                   (!midx || midx != sk->sk_bound_dev_if))
+                   midx != sk->sk_bound_dev_if)
                        break;
 
                inet->mc_index = mreq.imr_ifindex;
-- 
2.19.1

Reply via email to