dmaengine: dw-edma: Serialize channel state checks
Published Sep 17, 2026
No CVSS score
EPSS 0.22%
Description
pause() and resume() read and update channel state without holding vc.lock, while the interrupt handlers update the same state under it. Take the same lock around those state checks so that request, status, and configured stay consistent.
For example, pause() can observe EDMA_ST_BUSY right before the interrupt handler completes the final descriptor and moves the channel to EDMA_ST_IDLE, and then record EDMA_REQ_PAUSE on an already idle channel. No further interrupt will acknowledge the request, and since issue_pending() requires EDMA_REQ_NONE, the channel is wedged for good: terminate_all() leaves the stale request behind, so even reconfiguring the channel does not recover it.
issue_pending() already runs under vc.lock, but it tests configured before taking it. Move that test under the lock as well, so configured, request, and status are evaluated as one channel-state snapshot.
Affected products
-
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version
-
- Version 5.3StatusaffectedConstraints-
- Version 0StatusunaffectedConstraints<5.3
- Version 5.10.270StatusunaffectedConstraints<=5.10.*
- Version 5.15.221StatusunaffectedConstraints<=5.15.*
- Version 6.1.188StatusunaffectedConstraints<=6.1.*
- Version 6.12.110StatusunaffectedConstraints<=6.12.*
- Version 6.18.52StatusunaffectedConstraints<=6.18.*
- Version 6.6.157StatusunaffectedConstraints<=6.6.*
- Version 7.2.6StatusunaffectedConstraints<=7.2.*
- Version 7.3-rc1StatusunaffectedConstraints<=*
- 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 |
|
No data.
No data.
No Red Hat product state for this CVE.
No package ranges for this CVE.
Remediation
No remediation recorded yet.
Metrics
No CVSS v4.0 score for this CVE.
No CVSS v3.1 score for this CVE.
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 4, 2026.
Score over time
Sep-Oct 2026- EPSS v5
Percentile over time
- EPSS v5
Table of values (2 key points)
Flat stretches are collapsed. Showing up to 120 newest points.
| Date | Score | Percentile | Model |
|---|---|---|---|
| Oct 4, 2026 | 0.22% (0.00220) | 11.29th | v5 (v2026.06.15) |
| Sep 18, 2026 | 0.18% (0.00177) | 7.50th | v5 (v2026.06.15) |
No CWE recorded.
References (8)
- https://git.kernel.org/stable/c/2d76b91deeab973dd8a8c2ee587ce27f881de768
- https://git.kernel.org/stable/c/3001cfcee30dcc81f8b3774319c12067f126e49a
- https://git.kernel.org/stable/c/6fc436e1500c5e4f0dde2a3dbadf6d898057be8f
- https://git.kernel.org/stable/c/b6293a8a38f4d5866ce1a264c138265a02e4c53a
- https://git.kernel.org/stable/c/be0072af8ce6e9458cc586e0e8b41a251e7d4316
- https://git.kernel.org/stable/c/da16a02f0998a0d455ce6265b836b29ad92e6e58
- https://git.kernel.org/stable/c/f7d1619f3e10c619b62c6cd6d95371b5c526c85a
- https://git.kernel.org/stable/c/fe0ffa0190e862ed71e8c1a476090f648c9cb7d9
Change history (0)
No recorded changes yet.