diff options
Diffstat (limited to 'net/ipv6/mcast.c')
| -rw-r--r-- | net/ipv6/mcast.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index f15e04ad026e..fd939da090c4 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c @@ -1231,6 +1231,11 @@ int igmp6_event_report(struct sk_buff *skb)  	if (skb->pkt_type == PACKET_LOOPBACK)  		return 0; +	/* send our report if the MC router may not have heard this report */ +	if (skb->pkt_type != PACKET_MULTICAST && +	    skb->pkt_type != PACKET_BROADCAST) +		return 0; +  	if (!pskb_may_pull(skb, sizeof(struct in6_addr)))  		return -EINVAL;  | 
