mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
staging: rtl8723bs: fix missing transmission lock in rtw_xmit
The packet transmission path in rtw_xmit.c contained TODO comments indicating a missing lock. This patch implements spin_lock_bh and spin_unlock_bh around the station attribute update section. This prevents a potential race condition where station security and PHY information could be modified on another CPU core during transmission. The use of _bh variants ensures safety in bottom-half contexts common in network transmit paths. Verified that psta is NULL-checked prior to acquisition and that no double-unlocks occur on the exit path. Signed-off-by: Karthikey D Kadati <karthikey3608@gmail.com> Link: https://patch.msgid.link/20251227113348.26272-1-karthikey3608@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
20530f561a
commit
44b225bf07
|
|
@ -715,8 +715,9 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
|
|||
if (!(psta->state & _FW_LINKED))
|
||||
return _FAIL;
|
||||
|
||||
/* TODO:_lock */
|
||||
spin_lock_bh(&psta->lock);
|
||||
if (update_attrib_sec_info(padapter, pattrib, psta) == _FAIL) {
|
||||
spin_unlock_bh(&psta->lock);
|
||||
res = _FAIL;
|
||||
goto exit;
|
||||
}
|
||||
|
|
@ -724,7 +725,7 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
|
|||
update_attrib_phy_info(padapter, pattrib, psta);
|
||||
|
||||
pattrib->psta = psta;
|
||||
/* TODO:_unlock */
|
||||
spin_unlock_bh(&psta->lock);
|
||||
|
||||
pattrib->pctrl = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user