diff mbox

[net-next] ipv4: igmp: fix v3 general query drop monitor false positive

Message ID 1412522870-26335-1-git-send-email-dborkman@redhat.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Daniel Borkmann Oct. 5, 2014, 3:27 p.m. UTC
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(-)

Comments

Eric Dumazet Oct. 5, 2014, 5:12 p.m. UTC | #1
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
David Miller Oct. 6, 2014, 9:15 p.m. UTC | #2
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 mbox

Patch

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;
 		}