Description
In the Linux kernel, the following vulnerability has been resolved: tty: xilinx_uartps: split sysrq handling lockdep detects the following circular locking dependency: CPU 0 CPU 1 ========================== ============================ cdns_uart_isr() printk() uart_port_lock(port) console_lock() cdns_uart_console_write() if (!port->sysrq) uart_port_lock(port) uart_handle_break() port->sysrq = ... uart_handle_sysrq_char() printk() console_lock() The fixed commit attempts to avoid this situation by only taking the port lock in cdns_uart_console_write if port->sysrq unset. However, if (as shown above) cdns_uart_console_write runs before port->sysrq is set, then it will try to take the port lock anyway. This may result in a deadlock. Fix this by splitting sysrq handling into two parts. We use the prepare helper under the port lock and defer handling until we release the lock.
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
74ea66d4ca061a3cd4c0e924e51b60e924644852 to < e22a97700901ba5e8bf8db68056a0d50f9440caeaffected74ea66d4ca061a3cd4c0e924e51b60e924644852 to < de5bd24197bd9ee37ec1e379a3d882bbd15c5065affected74ea66d4ca061a3cd4c0e924e51b60e924644852 to < 8ea0e7b3d7b8f2f0fc9db491ff22a0abe120801caffected74ea66d4ca061a3cd4c0e924e51b60e924644852 to < 9b88a7c4584ba67267a051069b8abe44fc9595b2affected74ea66d4ca061a3cd4c0e924e51b60e924644852 to < 4410dba9807a17a93f649a9f5870ceaf30a675a3affected74ea66d4ca061a3cd4c0e924e51b60e924644852 to < b06f388994500297bb91be60ffaf6825ecfd2afeaffected
Linux Linux
Default version status: affected
4.6affected0 to < 4.6unaffected5.15.179 to ≤ 5.15.*unaffected6.1.129 to ≤ 6.1.*unaffected6.6.78 to ≤ 6.6.*unaffected6.12.14 to ≤ 6.12.*unaffected6.13.3 to ≤ 6.13.*unaffected6.14 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/e22a97700901ba5e8bf8db68056a0d50f9440cae ↗
- https://git.kernel.org/stable/c/de5bd24197bd9ee37ec1e379a3d882bbd15c5065 ↗
- https://git.kernel.org/stable/c/8ea0e7b3d7b8f2f0fc9db491ff22a0abe120801c ↗
- https://git.kernel.org/stable/c/9b88a7c4584ba67267a051069b8abe44fc9595b2 ↗
- https://git.kernel.org/stable/c/4410dba9807a17a93f649a9f5870ceaf30a675a3 ↗
- https://git.kernel.org/stable/c/b06f388994500297bb91be60ffaf6825ecfd2afe ↗
- https://lists.debian.org/debian-lts-announce/2025/03/msg00028.html ↗