ipv6: Fix regression caused by efe4208 in udp_v6_mcast_next()
authorSven Wegener <sven.wegener@stealer.net>
Thu, 29 May 2014 20:27:05 +0000 (20:27 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Jun 2014 19:17:33 +0000 (15:17 -0400)
commit132345b29ad8945d432479a127d46717925ff6e8
tree66c0a41856a262162fde6ff012e36785c172fce9
parent05d659186c65f5c5d5d777ddb2d57594325965a8
ipv6: Fix regression caused by efe4208 in udp_v6_mcast_next()

[ Upstream commit 3bfdc59a6c24608ed23e903f670aaf5f58c7a6f3 ]

Commit efe4208 ("ipv6: make lookups simpler and faster") introduced a
regression in udp_v6_mcast_next(), resulting in multicast packets not
reaching the destination sockets under certain conditions.

The packet's IPv6 addresses are wrongly compared to the IPv6 addresses
from the function's socket argument, which indicates the starting point
for looping, instead of the loop variable. If the addresses from the
first socket do not match the packet's addresses, no socket in the list
will match.

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv6/udp.c