]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: mac80211: don't mark keys for inactive links as uploaded
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 9 Jul 2025 20:38:00 +0000 (23:38 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:33:57 +0000 (15:33 -0500)
[ Upstream commit 63df3956903748c5f374a0dfe7a89490714a4625 ]

During resume, the driver can call ieee80211_add_gtk_rekey for keys that
are not programmed into the device, e.g. keys of inactive links.
Don't mark such a key as uploaded to avoid removing it later from the
driver/device.

Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250709233537.655094412b0b.Iacae31af3ba2a705da0a9baea976c2f799d65dc4@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Stable-dep-of: ed6a47346ec6 ("wifi: mac80211: fix key tailroom accounting leak")
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/key.c

index 67ecfea2298294debe442d2103e3c82d4fc63712..7809fac6bae5d3d28230737453005ee83355d927 100644 (file)
@@ -510,7 +510,8 @@ static int ieee80211_key_replace(struct ieee80211_sub_if_data *sdata,
        } else {
                if (!new->local->wowlan)
                        ret = ieee80211_key_enable_hw_accel(new);
-               else
+               else if (link_id < 0 || !sdata->vif.active_links ||
+                        BIT(link_id) & sdata->vif.active_links)
                        new->flags |= KEY_FLAG_UPLOADED_TO_HARDWARE;
        }