| Submitter | Herbert Xu |
|---|---|
| Date | 2010-02-08 03:26:30 |
| Message ID | <20100208032630.GA4369@gondor.apana.org.au> |
| Download | mbox | patch |
| Permalink | /patch/44753/ |
| State | Accepted |
| Delegated to: | David Miller |
| Headers | show |
Comments
From: Herbert Xu <herbert@gondor.apana.org.au> Date: Mon, 8 Feb 2010 14:26:30 +1100 > inet: Remove bogus IGMPv3 report handling > > Currently we treat IGMPv3 reports as if it were an IGMPv2/v1 report. > This is broken as IGMPv3 reports are formatted differently. So we > end up suppressing a bogus multicast group (which should be harmless > as long as the leading reserved field is zero). > > In fact, IGMPv3 does not allow membership report suppression so > we should simply ignore IGMPv3 membership reports as a host. > > This patch does exactly that. I kept the case statement for it > so people won't accidentally add it back thinking that we overlooked > this case. > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Applied to net-2.6 and queued up for -stable, thanks! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 76c0840..a42f658 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -946,7 +946,6 @@ int igmp_rcv(struct sk_buff *skb) break; case IGMP_HOST_MEMBERSHIP_REPORT: case IGMPV2_HOST_MEMBERSHIP_REPORT: - case IGMPV3_HOST_MEMBERSHIP_REPORT: /* Is it our report looped back? */ if (skb_rtable(skb)->fl.iif == 0) break; @@ -960,6 +959,7 @@ int igmp_rcv(struct sk_buff *skb) in_dev_put(in_dev); return pim_rcv_v1(skb); #endif + case IGMPV3_HOST_MEMBERSHIP_REPORT: case IGMP_DVMRP: case IGMP_TRACE: case IGMP_HOST_LEAVE_MESSAGE:
Hi: inet: Remove bogus IGMPv3 report handling Currently we treat IGMPv3 reports as if it were an IGMPv2/v1 report. This is broken as IGMPv3 reports are formatted differently. So we end up suppressing a bogus multicast group (which should be harmless as long as the leading reserved field is zero). In fact, IGMPv3 does not allow membership report suppression so we should simply ignore IGMPv3 membership reports as a host. This patch does exactly that. I kept the case statement for it so people won't accidentally add it back thinking that we overlooked this case. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Cheers,