]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: mac80211: don't increment crypto_tx_tailroom_needed_cnt twice
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Sun, 18 Jan 2026 07:28:29 +0000 (09:28 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 20 Jan 2026 09:01:43 +0000 (10:01 +0100)
commit3f3d8ff31496874a69b131866f62474eb24ed20a
tree513b0950c3c4beaa96bbd792d564d9807d647973
parent5dc6975566f5d142ec53eb7e97af688c45dd314d
wifi: mac80211: don't increment crypto_tx_tailroom_needed_cnt twice

In reconfig, in case the driver asks to disconnect during the reconfig,
all the keys of the interface are marked as tainted.
Then ieee80211_reenable_keys will loop over all the interface keys, and
for each one it will
a) increment crypto_tx_tailroom_needed_cnt
b) call ieee80211_key_enable_hw_accel, which in turn will detect that
this key is tainted, so it will mark it as "not in hardware", which is
paired with crypto_tx_tailroom_needed_cnt incrementation, so we get two
incrementations for each tainted key.
Then we get a warning in ieee80211_free_keys.

To fix it, don't increment the count in ieee80211_reenable_keys for
tainted keys

Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20260118092821.4ca111fddcda.Id6e554f4b1c83760aa02d5a9e4e3080edb197aa2@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/key.c