Commit 40796c5e authored by David L Stevens's avatar David L Stevens Committed by David S. Miller

[IPV6]: Fix per-socket multicast filtering in sk_reuse case

per-socket multicast filters were not being applied to all sockets
in the case of an exact-match bound address, due to an over-exuberant
"return" in the look-up code. Fix below. IPv4 does not have this problem.

Thanks to Hoerdt Mickael for reporting the bug.
Signed-off-by: default avatarDavid L Stevens <dlstevens@us.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 87375ab4
...@@ -405,9 +405,8 @@ static struct sock *udp_v6_mcast_next(struct sock *sk, ...@@ -405,9 +405,8 @@ static struct sock *udp_v6_mcast_next(struct sock *sk,
continue; continue;
if (!ipv6_addr_any(&np->rcv_saddr)) { if (!ipv6_addr_any(&np->rcv_saddr)) {
if (ipv6_addr_equal(&np->rcv_saddr, loc_addr)) if (!ipv6_addr_equal(&np->rcv_saddr, loc_addr))
return s; continue;
continue;
} }
if(!inet6_mc_check(s, loc_addr, rmt_addr)) if(!inet6_mc_check(s, loc_addr, rmt_addr))
continue; continue;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment