[IPV6] MCAST: Ensure to check multicast listener(s).
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Tue, 1 Apr 2008 02:30:45 +0000 (19:30 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 1 Apr 2008 02:30:45 +0000 (19:30 -0700)
commit4c7966b86b910d6d4869aba1d7417d053ac9682c
treeec65994e682b6c3e05533ddd1bb15986687f8ea1
parent9f09243890a4e7d2e06d40b56f26a64f88c6ec8b
[IPV6] MCAST: Ensure to check multicast listener(s).

In ip6_mc_input(), we need to check whether we have listener(s) for
the packet.

After commit ae7bf20a6316272acfcaef5d265b18aaa54b41e4, all packets
for multicast destinations are delivered to upper layer if
IFF_PROMISC or IFF_ALLMULTI is set.

In fact, bug was rather ancient; the original (before the commit)
intent of the dev->flags check was to skip the ipv6_chk_mcast_addr()
call, assuming L2 filters packets appropriately, but it was even not
true.

Let's explicitly check our multicast list.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Acked-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_input.c