mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-07 13:43:51 +00:00
wifi: mac80211: fix potential sta-link leak
When a station is allocated, links are added but not
set to valid yet (e.g. during connection to an AP MLD),
we might remove the station without ever marking links
valid, and leak them. Fix that.
Fixes: cb71f1d136
("wifi: mac80211: add sta link addition/removal")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240111181514.6573998beaf8.I09ac2e1d41c80f82a5a616b8bd1d9d8dd709a6a6@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
26490da5a7
commit
b01a74b3ca
@ -404,7 +404,10 @@ void sta_info_free(struct ieee80211_local *local, struct sta_info *sta)
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(sta->link); i++) {
|
||||
if (!(sta->sta.valid_links & BIT(i)))
|
||||
struct link_sta_info *link_sta;
|
||||
|
||||
link_sta = rcu_access_pointer(sta->link[i]);
|
||||
if (!link_sta)
|
||||
continue;
|
||||
|
||||
sta_remove_link(sta, i, false);
|
||||
|
Loading…
Reference in New Issue
Block a user