wifi: mac80211: don't flush non-uploaded STAs
BugLink: https://bugs.launchpad.net/bugs/2111953
[ Upstream commit aa3ce3f8fafa0b8fb062f28024855ea8cb3f3450 ]
If STA state is pre-moved to AUTHORIZED (such as in IBSS
scenarios) and insertion fails, the station is freed.
In this case, the driver never knew about the station,
so trying to flush it is unexpected and may crash.
Check if the sta was uploaded to the driver before and
fix this.
Fixes: d00800a289 ("wifi: mac80211: add flush_sta method")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250102161730.e3d10970a7c7.I491bbcccc46f835ade07df0640a75f6ed92f20a3@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
CVE-2025-21828
Signed-off-by: Manuel Diewald <manuel.diewald@canonical.com>
Signed-off-by: Mehmet Basaran <mehmet.basaran@canonical.com>
This commit is contained in:
committed by
Mehmet Basaran
parent
40e73b4984
commit
3e2d80dba1
@@ -724,6 +724,9 @@ static inline void drv_flush_sta(struct ieee80211_local *local,
|
||||
if (sdata && !check_sdata_in_driver(sdata))
|
||||
return;
|
||||
|
||||
if (!sta->uploaded)
|
||||
return;
|
||||
|
||||
trace_drv_flush_sta(local, sdata, &sta->sta);
|
||||
if (local->ops->flush_sta)
|
||||
local->ops->flush_sta(&local->hw, &sdata->vif, &sta->sta);
|
||||
|
||||
Reference in New Issue
Block a user