CVE-2025-21820

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-21820
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-21820.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-21820
Downstream
Related
Published
2025-02-27T20:16:04Z
Modified
2025-08-09T20:01:26Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

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 ========================== ============================ cdnsuartisr() printk() uartportlock(port) consolelock() cdnsuartconsolewrite() if (!port->sysrq) uartportlock(port) uarthandlebreak() port->sysrq = ... uarthandlesysrqchar() printk() consolelock()

The fixed commit attempts to avoid this situation by only taking the port lock in cdnsuartconsolewrite if port->sysrq unset. However, if (as shown above) cdnsuartconsolewrite 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.

References

Affected packages