Message ID | 1412522870-26335-1-git-send-email-dborkman@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Sun, 2014-10-05 at 17:27 +0200, Daniel Borkmann wrote: > In case we find a general query with non-zero number of sources, we > are dropping the skb as it's malformed. > > RFC3376, section 4.1.8. Number of Sources (N): > > This number is zero in a General Query or a Group-Specific Query, > and non-zero in a Group-and-Source-Specific Query. > > Therefore, reflect that by using kfree_skb() instead of consume_skb(). > > Fixes: d679c5324d9a ("igmp: avoid drop_monitor false positives") > Signed-off-by: Daniel Borkmann <dborkman@redhat.com> > --- Acked-by: Eric Dumazet <edumazet@google.com> -- 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
From: Daniel Borkmann <dborkman@redhat.com> Date: Sun, 5 Oct 2014 17:27:50 +0200 > In case we find a general query with non-zero number of sources, we > are dropping the skb as it's malformed. > > RFC3376, section 4.1.8. Number of Sources (N): > > This number is zero in a General Query or a Group-Specific Query, > and non-zero in a Group-and-Source-Specific Query. > > Therefore, reflect that by using kfree_skb() instead of consume_skb(). > > Fixes: d679c5324d9a ("igmp: avoid drop_monitor false positives") > Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Applied, thanks Daniel. -- 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
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 4146153..fb70e3e 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -931,7 +931,7 @@ static bool igmp_heard_query(struct in_device *in_dev, struct sk_buff *skb, in_dev->mr_qrv = ih3->qrv; if (!group) { /* general query */ if (ih3->nsrcs) - return false; /* no sources allowed */ + return true; /* no sources allowed */ igmp_gq_start_timer(in_dev); return false; }
In case we find a general query with non-zero number of sources, we are dropping the skb as it's malformed. RFC3376, section 4.1.8. Number of Sources (N): This number is zero in a General Query or a Group-Specific Query, and non-zero in a Group-and-Source-Specific Query. Therefore, reflect that by using kfree_skb() instead of consume_skb(). Fixes: d679c5324d9a ("igmp: avoid drop_monitor false positives") Signed-off-by: Daniel Borkmann <dborkman@redhat.com> --- [ net-next as it's not really urgent. ] net/ipv4/igmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)