Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b47bd8d2 authored by Daniel Borkmann's avatar Daniel Borkmann Committed by David S. Miller
Browse files

ipv4: igmp: fix v3 general query drop monitor false positive



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: d679c532 ("igmp: avoid drop_monitor false positives")
Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
Acked-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ee637714
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
		}