Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3378103pxb; Sun, 7 Feb 2021 07:18:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJz85ueiy0WFTbNVf3uJj5svulY4txhd0ZnTiI+nH4bkdD81Pi9/Gob15Hut35/013sKbUd4 X-Received: by 2002:a50:e40d:: with SMTP id d13mr12852818edm.286.1612711126346; Sun, 07 Feb 2021 07:18:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612711126; cv=none; d=google.com; s=arc-20160816; b=GQHO4WOWKbQxvGGBjf/+LD39iA31mglZO331CR7MxOtWTSCcSz5Nsk/vVcrYBtbt4b XujJRkQuktmd0cwYWcZtGCSoosh+KFlXuQ+axqZS2mzeDX+79GvzuWQ6AfgeZWVQuZZ5 y1AvYqNNN0TUp9bt/Z4Y+Xs2ccplwVyJVBAiHudRW2QR/hsOPwIyQa1WpJtGgPbAnwm4 ILd2EvaXGfakshpbjrpFNhiWY9B7mnDwdnR74+IpaFZQgxhlavbi1ZK+Gm3UEwgsxtiq kHlskcFP9BF0moY1pjdqnYjy6OGUkraxroMDAb7H445Nso2oLLu0qhr8xQZrF6nyUs2T BrQA== 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=AAREjmZqOUClGfhodgH6NMCpQq1StTKET4+42ouy84k=; b=TMbC8cDd4oPczRoDi60YTojLNUvLcP9dPIAk5NrR+tw2mhqdVFfYNz2F/zHaLfW5QZ A1jokq+Pa4Q2oLJrkW9I3VRfZ/0WQTJvLURBmNLeuyuUKx/csxltQCG1k9sF2w0rpvVd b00ufjLsntiZyQKUrUqSpOMlLQXJSGdncxOj1Oqi3vFpnZ5ccaDJ0oyn8Cze+kTRK8cP 07qhgfbTKQyJSPVWsvetMP01jinrl/gOhFG5BF8xDpesL5ithusb2McG7vgwedB/JYrE /wIq4lLjaKSdIble7mRO0/FCiHx2LytjHSssn7ZvXQmgH4HSkbRxu6GMJaq5IUoh8sXQ WeAA== 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 r30si10194091edi.324.2021.02.07.07.18.08; Sun, 07 Feb 2021 07:18:46 -0800 (PST) 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 S229908AbhBGPQz (ORCPT + 99 others); Sun, 7 Feb 2021 10:16:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55436 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229846AbhBGPQo (ORCPT ); Sun, 7 Feb 2021 10:16:44 -0500 X-Greylist: delayed 392 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Sun, 07 Feb 2021 07:16:03 PST Received: from mail.blocktrron.ovh (mars.blocktrron.ovh [IPv6:2001:41d0:401:3000::cbd]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C6CFEC061788 for ; Sun, 7 Feb 2021 07:16:03 -0800 (PST) Received: from localhost.localdomain (p200300e53f3fbd004aa0d92dd69c6c60.dip0.t-ipconnect.de [IPv6:2003:e5:3f3f:bd00:4aa0:d92d:d69c:6c60]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.blocktrron.ovh (Postfix) with ESMTPSA id BD7631E948; Sun, 7 Feb 2021 16:09:27 +0100 (CET) From: David Bauer To: linux-wireless@vger.kernel.org Cc: lorenzo@kernel.org, nbd@nbd.name Subject: [PATCH] mt76: mt76x0: disable GTK offloading Date: Sun, 7 Feb 2021 16:09:17 +0100 Message-Id: <20210207150917.75536-1-mail@david-bauer.net> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org When operating two VAP on a MT7610 with encryption (PSK2, SAE, OWE), only the first one to be created will transmit properly encrypteded frames. All subsequently created VAPs will sent out frames with the payload left unencrypted, breaking multicast traffic (ICMP6 NDP) and potentially disclosing information to a third party. Disable GTK offloading and encrypt these frames in software to circumvent this issue. THis only seems to be necessary on MT7610 chips, as MT7612 is not affected from our testing. Signed-off-by: David Bauer --- drivers/net/wireless/mediatek/mt76/mt76x02_util.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_util.c b/drivers/net/wireless/mediatek/mt76/mt76x02_util.c index 7ac20d3c16d7..aaa597b941cd 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x02_util.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_util.c @@ -447,6 +447,10 @@ int mt76x02_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, !(key->flags & IEEE80211_KEY_FLAG_PAIRWISE)) return -EOPNOTSUPP; + /* MT76x0 GTK offloading does not work with more than one VIF */ + if (is_mt76x0(dev) && !(key->flags & IEEE80211_KEY_FLAG_PAIRWISE)) + return -EOPNOTSUPP; + msta = sta ? (struct mt76x02_sta *)sta->drv_priv : NULL; wcid = msta ? &msta->wcid : &mvif->group_wcid; -- 2.30.0