From 44b225bf0738e7b0644be1cc638871e930ffe1e5 Mon Sep 17 00:00:00 2001 From: Karthikey D Kadati Date: Sat, 27 Dec 2025 17:03:48 +0530 Subject: [PATCH] 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 Link: https://patch.msgid.link/20251227113348.26272-1-karthikey3608@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/core/rtw_xmit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index ae482c28b40b..7aaef2cbc9ac 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -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; -- 2.47.3