CVE-2026-53101
Description
In the Linux kernel, the following vulnerability has been resolved:
wifi: mt76: mt7921: fix potential deadlock in mt7921_roc_abort_sync
roc_abort_sync() can deadlock with roc_work(). roc_work() holds
dev->mt76.mutex, while cancel_work_sync() waits for roc_work()
to finish. If the caller already owns the same mutex, both
sides block and no progress is possible.
This deadlock can occur during station removal when
mt76_sta_state() -> mt76_sta_remove() -> mt7921_mac_sta_remove() ->
mt7921_roc_abort_sync() invokes cancel_work_sync() while
roc_work() is still running and holding dev->mt76.mutex.
This avoids the mutex deadlock and preserves exactly-once
work ownership.
Summary dbcve.org
A deadlock vulnerability exists in the Linux kernel's mt7921 WiFi driver where roc_abort_sync() can deadlock with roc_work(). roc_work() holds dev->mt76.mutex while cancel_work_sync() waits for roc_work() to finish. If the caller already owns the same mutex during station removal (via mt76_sta_state() -> mt76_sta_remove() -> mt7921_mac_sta_remove() -> mt7921_roc_abort_sync()), both sides block indefinitely.
Mitigation
Apply the kernel patch that restructures mutex handling in mt7921_roc_abort_sync() to avoid acquiring the mutex when cancel_work_sync() is called, preventing the circular wait condition while preserving exactly-once work semantics.