Description
In the Linux kernel, the following vulnerability has been resolved: drivers: staging: rtl8723bs: Fix deadlock in rtw_surveydone_event_callback() There is a deadlock in rtw_surveydone_event_callback(), which is shown below: (Thread 1) | (Thread 2) | _set_timer() rtw_surveydone_event_callback()| mod_timer() spin_lock_bh() //(1) | (wait a time) ... | rtw_scan_timeout_handler() del_timer_sync() | spin_lock_bh() //(2) (wait timer to stop) | ... We hold pmlmepriv->lock in position (1) of thread 1 and use del_timer_sync() to wait timer to stop, but timer handler also need pmlmepriv->lock in position (2) of thread 2. As a result, rtw_surveydone_event_callback() will block forever. This patch extracts del_timer_sync() from the protection of spin_lock_bh(), which could let timer handler to obtain the needed lock. What`s more, we change spin_lock_bh() in rtw_scan_timeout_handler() to spin_lock_irq(). Otherwise, spin_lock_bh() will also cause deadlock() in timer handler.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
fb127a61c9d8dfd9b370ee173344d01711f3c698 to < c84e5c819600ee0628f61b33d145258ae0f3d7a7affectedfb127a61c9d8dfd9b370ee173344d01711f3c698 to < f89f6c3ebf69623b8ea48200bd690e9e210335a1affectedfb127a61c9d8dfd9b370ee173344d01711f3c698 to < ce129d3efd181da5fd56f4360cc8827122afa67eaffectedfb127a61c9d8dfd9b370ee173344d01711f3c698 to < 2c41f5c341853f84b7bc2f32605d4e2782e8c279affectedfb127a61c9d8dfd9b370ee173344d01711f3c698 to < cc7ad0d77b51c872d629bcd98aea463a3c4109e7affected
Linux Linux
Default version status: affected
5.10affected0 to < 5.10unaffected5.10.237 to ≤ 5.10.*unaffected5.15.47 to ≤ 5.15.*unaffected5.17.15 to ≤ 5.17.*unaffected5.18.4 to ≤ 5.18.*unaffected5.19 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c84e5c819600ee0628f61b33d145258ae0f3d7a7 ↗
- https://git.kernel.org/stable/c/f89f6c3ebf69623b8ea48200bd690e9e210335a1 ↗
- https://git.kernel.org/stable/c/ce129d3efd181da5fd56f4360cc8827122afa67e ↗
- https://git.kernel.org/stable/c/2c41f5c341853f84b7bc2f32605d4e2782e8c279 ↗
- https://git.kernel.org/stable/c/cc7ad0d77b51c872d629bcd98aea463a3c4109e7 ↗
- https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html ↗