Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2025-21820

tty: xilinx_uartps: split sysrq handling

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 < e22a97700901ba5e8bf8db68056a0d50f9440caeaffected
  • 74ea66d4ca061a3cd4c0e924e51b60e924644852 to < de5bd24197bd9ee37ec1e379a3d882bbd15c5065affected
  • 74ea66d4ca061a3cd4c0e924e51b60e924644852 to < 8ea0e7b3d7b8f2f0fc9db491ff22a0abe120801caffected
  • 74ea66d4ca061a3cd4c0e924e51b60e924644852 to < 9b88a7c4584ba67267a051069b8abe44fc9595b2affected
  • 74ea66d4ca061a3cd4c0e924e51b60e924644852 to < 4410dba9807a17a93f649a9f5870ceaf30a675a3affected
  • 74ea66d4ca061a3cd4c0e924e51b60e924644852 to < b06f388994500297bb91be60ffaf6825ecfd2afeaffected

Linux Linux

Default version status: affected

  • 4.6affected
  • 0 to < 4.6unaffected
  • 5.15.179 to ≤ 5.15.*unaffected
  • 6.1.129 to ≤ 6.1.*unaffected
  • 6.6.78 to ≤ 6.6.*unaffected
  • 6.12.14 to ≤ 6.12.*unaffected
  • 6.13.3 to ≤ 6.13.*unaffected
  • 6.14 to ≤ *unaffected

References