From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E9D2CC432C3 for ; Tue, 19 Nov 2019 05:27:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BB92B222DC for ; Tue, 19 Nov 2019 05:27:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574141251; bh=DWeebrJx8H6xViZvK61SrP4XsgVD2r/OoVtegmbXWEs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=HfePWKi9U12L66qMK2Dp4Nt7Pczabe15dghbzgkhs7v+hjFr/i52kx4h8ecBqi2+0 cfVgOGcRketg1GnljnQk83zWPZOEP94bbxbdarGbYrdiPkq35i47u6gV2XwVPYnfk8 P9+GzWANs6lux0DQ3qQcdQMHPkM7gJuY44haccB0= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727756AbfKSF1a (ORCPT ); Tue, 19 Nov 2019 00:27:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:45748 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727723AbfKSF13 (ORCPT ); Tue, 19 Nov 2019 00:27:29 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0EA7A21783; Tue, 19 Nov 2019 05:27:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574141248; bh=DWeebrJx8H6xViZvK61SrP4XsgVD2r/OoVtegmbXWEs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=obbf7Ch7cof48zmWoBy+cBeHiJBsbLZOwmOQVuRq1nZ/5rgUDitMniQYu5/+hy7Ow tvCaC+G1zD8FUObuV+akiqP4GcySZRMtKalq723PYtUk6w9zFkHyNHOg9Ie9zSQT88 2C1CDEkHz31ko8FBvXVROM3Zrdh8jD9/g31qAvHI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dedy Lansky , Maya Erez , Kalle Valo , Sasha Levin Subject: [PATCH 4.19 057/422] wil6210: drop Rx multicast packets that are looped-back to STA Date: Tue, 19 Nov 2019 06:14:14 +0100 Message-Id: <20191119051403.459992899@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191119051400.261610025@linuxfoundation.org> References: <20191119051400.261610025@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dedy Lansky [ Upstream commit 9a65064abdf82934e0ed4744125f9f466f421f57 ] Delivering a looped-back multicast packet to network stack can cause higher layer protocols to fail like for example IPv6 DAD. In STA mode, upon receiving Rx multicast packet, check if the source MAC address is equal to our own MAC address and if so drop the packet. Signed-off-by: Dedy Lansky Signed-off-by: Maya Erez Signed-off-by: Kalle Valo Signed-off-by: Sasha Levin --- drivers/net/wireless/ath/wil6210/txrx.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c index 1b1b58e0129a3..25a65ca424c84 100644 --- a/drivers/net/wireless/ath/wil6210/txrx.c +++ b/drivers/net/wireless/ath/wil6210/txrx.c @@ -766,7 +766,14 @@ void wil_netif_rx_any(struct sk_buff *skb, struct net_device *ndev) return; } - if (wdev->iftype == NL80211_IFTYPE_AP && !vif->ap_isolate) { + if (wdev->iftype == NL80211_IFTYPE_STATION) { + if (mcast && ether_addr_equal(eth->h_source, ndev->dev_addr)) { + /* mcast packet looped back to us */ + rc = GRO_DROP; + dev_kfree_skb(skb); + goto stats; + } + } else if (wdev->iftype == NL80211_IFTYPE_AP && !vif->ap_isolate) { if (mcast) { /* send multicast frames both to higher layers in * local net stack and back to the wireless medium -- 2.20.1