Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2022-49309

drivers: staging: rtl8723bs: Fix deadlock in rtw_surveydone_event_callback()

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 < c84e5c819600ee0628f61b33d145258ae0f3d7a7affected
  • fb127a61c9d8dfd9b370ee173344d01711f3c698 to < f89f6c3ebf69623b8ea48200bd690e9e210335a1affected
  • fb127a61c9d8dfd9b370ee173344d01711f3c698 to < ce129d3efd181da5fd56f4360cc8827122afa67eaffected
  • fb127a61c9d8dfd9b370ee173344d01711f3c698 to < 2c41f5c341853f84b7bc2f32605d4e2782e8c279affected
  • fb127a61c9d8dfd9b370ee173344d01711f3c698 to < cc7ad0d77b51c872d629bcd98aea463a3c4109e7affected

Linux Linux

Default version status: affected

  • 5.10affected
  • 0 to < 5.10unaffected
  • 5.10.237 to ≤ 5.10.*unaffected
  • 5.15.47 to ≤ 5.15.*unaffected
  • 5.17.15 to ≤ 5.17.*unaffected
  • 5.18.4 to ≤ 5.18.*unaffected
  • 5.19 to ≤ *unaffected

References