diff options
Diffstat (limited to 'net/ipv6')
-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) | |||
1231 | if (skb->pkt_type == PACKET_LOOPBACK) | 1231 | if (skb->pkt_type == PACKET_LOOPBACK) |
1232 | return 0; | 1232 | return 0; |
1233 | 1233 | ||
1234 | /* send our report if the MC router may not have heard this report */ | ||
1235 | if (skb->pkt_type != PACKET_MULTICAST && | ||
1236 | skb->pkt_type != PACKET_BROADCAST) | ||
1237 | return 0; | ||
1238 | |||
1234 | if (!pskb_may_pull(skb, sizeof(struct in6_addr))) | 1239 | if (!pskb_may_pull(skb, sizeof(struct in6_addr))) |
1235 | return -EINVAL; | 1240 | return -EINVAL; |
1236 | 1241 | ||