soc: qcom: pdr: Fix the potential deadlock
Published Apr 8, 2025
5.5
MEDIUMCVSS 3.1
EPSS 0.16%
Description
When some client process A call pdr_add_lookup() to add the look up for the service and does schedule locator work, later a process B got a new server packet indicating locator is up and call pdr_locator_new_server() which eventually sets pdr->locator_init_complete to true which process A sees and takes list lock and queries domain list but it will timeout due to deadlock as the response will queued to the same qmi->wq and it is ordered workqueue and process B is not able to complete new server request work due to deadlock on list lock.
Fix it by removing the unnecessary list iteration as the list iteration is already being done inside locator work, so avoid it here and just call schedule_work() here.
Process A Process B
process_scheduled_works() pdr_add_lookup() qmi_data_ready_work() process_scheduled_works() pdr_locator_new_server() pdr->locator_init_complete=true; pdr_locator_work() mutex_lock(&pdr->list_lock);
pdr_locate_service() mutex_lock(&pdr->list_lock);
pdr_get_domain_list() pr_err("PDR: %s get domain list txn wait failed: %d\n", req->service_name, ret);
Timeout error log due to deadlock:
" PDR: tms/servreg get domain list txn wait failed: -110 PDR: service lookup for msm/adsp/sensor_pd:tms/servreg failed: -110 "
Thanks to Bjorn and Johan for letting me know that this commit also fixes an audio regression when using the in-kernel pd-mapper as that makes it easier to hit this race. [1]
Affected products
-
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version
-
- Version 5.7StatusaffectedConstraints-
- Version 0StatusunaffectedConstraints<5.7
- Version 5.10.236StatusunaffectedConstraints<=5.10.*
- Version 5.15.180StatusunaffectedConstraints<=5.15.*
- Version 6.1.132StatusunaffectedConstraints<=6.1.*
- Version 6.12.21StatusunaffectedConstraints<=6.12.*
- Version 6.13.9StatusunaffectedConstraints<=6.13.*
- Version 6.14StatusunaffectedConstraints<=*
- Version 6.6.85StatusunaffectedConstraints<=6.6.*
- Version
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Linux | unaffected |
| ||||||||||||||||||||||||||||||
| Linux | Linux | affected |
|
- ≥ 5.7 · < 6.1.132
- ≥ 6.2 · < 6.6.85
- ≥ 6.7 · < 6.12.21
- ≥ 6.13 · < 6.13.9
- 6.14
- 6.14
- 6.14
- 6.14
- 6.14
- 6.14
- 6.14
No data.
Red Hat Enterprise Linux 10
kernel
Not affected
Red Hat Enterprise Linux 6
kernel
Not affected
Red Hat Enterprise Linux 7
kernel
Not affected
Red Hat Enterprise Linux 7
kernel-rt
Not affected
Red Hat Enterprise Linux 8
kernel
Not affected
Red Hat Enterprise Linux 8
kernel-rt
Not affected
Red Hat Enterprise Linux 9
kernel
Not affected
Red Hat Enterprise Linux 9
kernel-rt
Not affected
| Product | Package | State | Advisory |
|---|---|---|---|
| Red Hat Enterprise Linux 10 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 6 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 7 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 7 | kernel-rt | Not affected | n/a |
| Red Hat Enterprise Linux 8 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 8 | kernel-rt | Not affected | n/a |
| Red Hat Enterprise Linux 9 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 9 | kernel-rt | Not affected | n/a |
No package ranges for this CVE.
Remediation
No remediation recorded yet.
Metrics
No CVSS v4.0 score for this CVE.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
1 other source (Red Hat) ▾
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
No CVSS v3.0 score for this CVE.
No CVSS v2.0 score for this CVE.
This CVE is not in the KEV list.
No CISA SSVC assessment for this CVE yet.
Estimated probability of exploitation in the wild in the next 30 days (FIRST EPSS). As of Oct 1, 2026.
Score over time
2025–2026- EPSS v4
- EPSS v5
Percentile over time
- EPSS v4
- EPSS v5
Table of values (3 key points)
Flat stretches are collapsed; showing up to 120 newest points.
| Date | Score | Percentile | Model |
|---|---|---|---|
| Oct 1, 2026 | 0.16% (0.00163) | 4.92th | v5 (v2026.06.15) |
| Jun 15, 2026 | 0.13% (0.00133) | 3.10th | v5 (v2026.06.15) |
| Apr 8, 2025 | 0.02% (0.00018) | 2.47th | v4 (v2025.03.14) |
References (14)
- https://access.redhat.com/security/cve/CVE-2025-22014 Vendor Advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=2358221 Issue Tracking
- https://git.kernel.org/stable/c/02612f1e4c34d94d6c8ee75bf7d254ed697e22d4 Patch
- https://git.kernel.org/stable/c/0a566a79aca9851fae140536e0fc5b0853c90a90 Patch
- https://git.kernel.org/stable/c/2eeb03ad9f42dfece63051be2400af487ddb96d2 Patch
- https://git.kernel.org/stable/c/72a222b6af10c2a05a5fad0029246229ed8912c2
- https://git.kernel.org/stable/c/daba84612236de3ab39083e62c9e326a654ebd20
- https://git.kernel.org/stable/c/f2bbfd50e95bc117360f0f59e629aa03d821ebd6 Patch
- https://git.kernel.org/stable/c/f4489260f5713c94e1966e5f20445bff262876f4 Patch
- https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html
- https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html
- https://lore.kernel.org/linux-cve-announce/2025040843-CVE-2025-22014-9c4f@gregkh/T
- https://nvd.nist.gov/vuln/detail/CVE-2025-22014
- https://www.cve.org/CVERecord?id=CVE-2025-22014
Change history (0)
No recorded changes yet.