wifi: mac80211: fix potential sta-link leak
[ Upstream commitb01a74b3ca] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b59e08c872
commit
49aaeb8c53
@@ -396,7 +396,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);
|
||||
|
||||
Reference in New Issue
Block a user