CVE-2026-53331 json
slimbus: qcom-ngd-ctrl: Avoid ABBA on tx_lock/ctrl->lock
published 2026-07-01 4 mo ago modified 2026-07-23 3 mo ago also EUVD-2026-40965
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 2%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
slimbus: qcom-ngd-ctrl: Avoid ABBA on tx_lock/ctrl->lock
During the SSR/PDR down notification the tx_lock is taken with the intent to provide synchronization with active DMA transfers.
But during this period qcom_slim_ngd_down() is invoked, which ends up in slim_report_absent(), which takes the slim_controller lock. In multiple other codepaths these two locks are taken in the opposite order (i.e. slim_controller then tx_lock).
The result is a lockdep splat, and a possible deadlock:
rprocctl/449 is trying to acquire lock: ffff00009793e620 (&ctrl->lock){+.+.}-{4:4}, at: slim_report_absent (drivers/slimbus/core.c:322) slimbus
but task is already holding lock: ffff00009793fb50 (&ctrl->tx_lock){+.+.}-{4:4}, at: qcom_slim_ngd_ssr_pdr_notify (drivers/slimbus/qcom-ngd-ctrl.c:1475) slim_qcom_ngd_ctrl
which lock already depends on the new lock.
Possible unsafe locking scenario:
CPU0 CPU1 ---- ---- lock(&ctrl->tx_lock); lock(&ctrl->lock); lock(&ctrl->tx_lock); lock(&ctrl->lock);
The assumption is that the comment refers to the desire to not call qcom_slim_ngd_exit_dma() while we have an ongoing DMA TX transaction. But any such transaction is initiated and completed within a single qcom_slim_ngd_xfer_msg().
Prior to calling qcom_slim_ngd_exit_dma() the slim_controller is torn down, all child devices are notified that the slimbus is gone and the child devices are removed.
Stop taking the tx_lock in qcom_slim_ngd_ssr_pdr_notify() to avoid the deadlock.
Patch / fix
- Linux Linux 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13, 7.1
- linux Debian 12 6.1.176-1
- linux Debian 13 6.12.94-1
- linux Debian 14 7.0.13-1
debian advisories DEBIAN-CVE-2026-53331
- linux Ubuntu 22.04 LTS 5.15.0-198.208
- linux Ubuntu 24.04 LTS 6.8.0-146.146
- linux Ubuntu 26.04 LTS 7.0.0-31.31
- linux-aws Ubuntu 22.04 LTS 5.15.0-1117.124
- linux-aws Ubuntu 24.04 LTS 6.8.0-1066.69
- linux-aws Ubuntu 26.04 LTS 7.0.0-1012.12
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1118.128
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1070.78
ubuntu advisories UBUNTU-CVE-2026-53331
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1
- kernel-syms-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1
- kernel-source-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.78.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.78.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.78.1
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.78.1
- kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.78.1
suse advisories SUSE-SU-2026:3810-1SUSE-SU-2026:3790-1SUSE-SU-2026:23244-1SUSE-SU-2026:23241-1SUSE-SU-2026:23194-1SUSE-SU-2026:23193-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.37.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.37.1
opensuse advisories openSUSE-SU-2026:21555-1
- git.kernel.org/stable/c/3d1561537237c6cc1db76155183d8bbdac2339f0 commit
- git.kernel.org/stable/c/dc4d5c57e012c2c669793deb1515a57bbc6bf5dd commit
- git.kernel.org/stable/c/d54a221b0f3cd9e1f03f18104be34e02a8258fae commit
- git.kernel.org/stable/c/aad4337a21b9ad3ae8d668fa8678d05e26ecbaa8 commit
- git.kernel.org/stable/c/9f0d45d509b434c54da10e01f4ef8086e4583401 commit
- git.kernel.org/stable/c/9708eb50fd7343145b422be852f890212155d845 commit
- git.kernel.org/stable/c/55f2ea9ff83cc27a85526b14bc9b32f96a08d6ec commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-53331 updated
kernel: slimbus: qcom-ngd-ctrl: Avoid ABBA on tx_lock/ctrl->lock
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.13% chance of exploitation in the next 30 days, higher than 2% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
-
git.kernel.org
/stable/c/3d1561537237c6cc1db76155183d8bbdac2339f0
patch
-
git.kernel.org
/stable/c/dc4d5c57e012c2c669793deb1515a57bbc6bf5dd
patch
-
git.kernel.org
/stable/c/d54a221b0f3cd9e1f03f18104be34e02a8258fae
patch
-
git.kernel.org
/stable/c/aad4337a21b9ad3ae8d668fa8678d05e26ecbaa8
patch
-
git.kernel.org
/stable/c/9f0d45d509b434c54da10e01f4ef8086e4583401
patch
-
git.kernel.org
/stable/c/9708eb50fd7343145b422be852f890212155d845
patch
-
git.kernel.org
/stable/c/55f2ea9ff83cc27a85526b14bc9b32f96a08d6ec
patch
Sources
- CVE List CVE-2026-53331
- NVD CVE-2026-53331
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.