CVE-2024-47143
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
11/01/2025
Last modified:
03/02/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
dma-debug: fix a possible deadlock on radix_lock<br />
<br />
radix_lock() shouldn&#39;t be held while holding dma_hash_entry[idx].lock<br />
otherwise, there&#39;s a possible deadlock scenario when<br />
dma debug API is called holding rq_lock():<br />
<br />
CPU0 CPU1 CPU2<br />
dma_free_attrs()<br />
check_unmap() add_dma_entry() __schedule() //out<br />
(A) rq_lock()<br />
get_hash_bucket()<br />
(A) dma_entry_hash<br />
check_sync()<br />
(A) radix_lock() (W) dma_entry_hash<br />
dma_entry_free()<br />
(W) radix_lock()<br />
// CPU2&#39;s one<br />
(W) rq_lock()<br />
<br />
CPU1 situation can happen when it extending radix tree and<br />
it tries to wake up kswapd via wake_all_kswapd().<br />
<br />
CPU2 situation can happen while perf_event_task_sched_out()<br />
(i.e. dma sync operation is called while deleting perf_event using<br />
etm and etr tmc which are Arm Coresight hwtracing driver backends).<br />
<br />
To remove this possible situation, call dma_entry_free() after<br />
put_hash_bucket() in check_unmap().
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
CPE | From | Up to |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.231 (excluding) | |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.174 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.120 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.66 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.5 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/3ccce34a5c3f5c9541108a451657ade621524b32
- https://git.kernel.org/stable/c/7543c3e3b9b88212fcd0aaf5cab5588797bdc7de
- https://git.kernel.org/stable/c/8c1b4fea8d62285f5e1a8194889b39661608bd8a
- https://git.kernel.org/stable/c/c212d91070beca0d03fef7bf988baf4ff4b3eee4
- https://git.kernel.org/stable/c/efe1b9bbf356357fdff0399af361133d6e3ba18e
- https://git.kernel.org/stable/c/f2b95248a16c5186d1c658fc0aeb2f3bd95e5259