Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp5074679pxj; Wed, 9 Jun 2021 08:34:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzCrEHY6rue5qAn6bk+DzEcD3QXjcYORFoK8QpIHRzdYOf9JNxxIQEFkylZsgjOxlTl0QvW X-Received: by 2002:a17:906:c833:: with SMTP id dd19mr436058ejb.255.1623252897939; Wed, 09 Jun 2021 08:34:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623252897; cv=none; d=google.com; s=arc-20160816; b=bI6snXT3SNOVO6Dkj3Q7+8IvK8COkS+OaHfC/s4vDztKh8gA6fdt9dE+oiVnQrFe6Q Kl9iiacDxWHi3e1MgyCe7TjPgwVNaLcP5kZK8Mifa3onbXSCqR6S6Qj57PC103p9bMyN HEPNarNpA6LI8tm9Vl5wHsgseksJLuU+NWY3c7N752PNZD4KVhMwOSH6J1tupwqOl+6q yNAhs2SkLFdJbD6qg6LVlDr+E2qopIxzpiTth/xVBZe1NK/tXpHNCLat60G2axS9cM1G HoncT/sjeazgNu1pKMPgADVr9Go4Pre1bhZZ7GNxr1xGXDuakwBo5Iihsg+du6oFuzV5 oVuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=dQZYInsQSpzyq9cdEVkedj4TuhpKpecbLuYjsgcuo1Q=; b=W07xBrudi8zPOjNNWNh5um2P4jxqUlOpOK0J4DSOfLDilCkRVfI5f+YaIOrzdnryfD Wqk7awnZ4Zs+cRuQZoLtDKEgwoxHeALvU0xt+4ogUDlSE3xBFcRvY4DJMlhOd/AonIDM y8RicVZNCBJ77obAwdhW/KqqwxiEpWhM5DROa0moIHg1JG4y+65nd9kcGqNdYHOgY2Kd UT5lDtb2ae/3wPOTp3odqp69daTLOghGSnhEO4+B24WabkVkUXpPrFrFasgw4IlJ9ZXj fONYtX4KGeq9bQmSz9cBDB7x1xnUqany6FYNjjm8qiNcCn6lgQb/cauxYPi+/NyXCbxe l2WA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id da5si34905edb.538.2021.06.09.08.34.32; Wed, 09 Jun 2021 08:34:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234280AbhFIOPL (ORCPT + 99 others); Wed, 9 Jun 2021 10:15:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35002 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237465AbhFIOPI (ORCPT ); Wed, 9 Jun 2021 10:15:08 -0400 Received: from sipsolutions.net (s3.sipsolutions.net [IPv6:2a01:4f8:191:4433::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 615DDC061574 for ; Wed, 9 Jun 2021 07:13:12 -0700 (PDT) Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94.2) (envelope-from ) id 1lqyxB-004HAv-Oa; Wed, 09 Jun 2021 16:13:09 +0200 From: Johannes Berg To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH] mac80211: drop multicast fragments Date: Wed, 9 Jun 2021 16:13:06 +0200 Message-Id: <20210609161305.23def022b750.Ibd6dd3cdce573dae262fcdc47f8ac52b883a9c50@changeid> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Johannes Berg These are not permitted by the spec, just drop them. Signed-off-by: Johannes Berg --- net/mac80211/rx.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 1bb43edd47b6..af0ef456eb0f 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -2240,17 +2240,15 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx) sc = le16_to_cpu(hdr->seq_ctrl); frag = sc & IEEE80211_SCTL_FRAG; - if (is_multicast_ether_addr(hdr->addr1)) { - I802_DEBUG_INC(rx->local->dot11MulticastReceivedFrameCount); - goto out_no_led; - } - if (rx->sta) cache = &rx->sta->frags; if (likely(!ieee80211_has_morefrags(fc) && frag == 0)) goto out; + if (is_multicast_ether_addr(hdr->addr1)) + return RX_DROP_MONITOR; + I802_DEBUG_INC(rx->local->rx_handlers_fragments); if (skb_linearize(rx->skb)) @@ -2376,7 +2374,6 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx) out: ieee80211_led_rx(rx->local); - out_no_led: if (rx->sta) rx->sta->rx_stats.packets++; return RX_CONTINUE; -- 2.31.1