Skip to content

Commit

Permalink
wifi: mac80211: fix RCU use in TDLS fast-xmit
Browse files Browse the repository at this point in the history
[ Upstream commit 9480adf ]

This looks up the link under RCU protection, but isn't
guaranteed to actually have protection. Fix that.

Fixes: 8cc0726 ("wifi: mac80211: handle TDLS data frames with MLO")
Link: https://msgid.link/20240129155348.8a9c0b1e1d89.I553f96ce953bb41b0b877d592056164dec20d01c@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
jmberg-intel authored and gregkh committed Feb 16, 2024
1 parent ea88bde commit c255c3b
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions net/mac80211/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -3100,10 +3100,11 @@ void ieee80211_check_fast_xmit(struct sta_info *sta)
/* DA SA BSSID */
build.da_offs = offsetof(struct ieee80211_hdr, addr1);
build.sa_offs = offsetof(struct ieee80211_hdr, addr2);
rcu_read_lock();
link = rcu_dereference(sdata->link[tdls_link_id]);
if (WARN_ON_ONCE(!link))
break;
memcpy(hdr->addr3, link->u.mgd.bssid, ETH_ALEN);
if (!WARN_ON_ONCE(!link))
memcpy(hdr->addr3, link->u.mgd.bssid, ETH_ALEN);
rcu_read_unlock();
build.hdr_len = 24;
break;
}
Expand Down

0 comments on commit c255c3b

Please sign in to comment.