CVE-2023-52632
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
02/04/2024
Last modified:
17/03/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
drm/amdkfd: Fix lock dependency warning with srcu<br />
<br />
======================================================<br />
WARNING: possible circular locking dependency detected<br />
6.5.0-kfd-yangp #2289 Not tainted<br />
------------------------------------------------------<br />
kworker/0:2/996 is trying to acquire lock:<br />
(srcu){.+.+}-{0:0}, at: __synchronize_srcu+0x5/0x1a0<br />
<br />
but task is already holding lock:<br />
((work_completion)(&svms->deferred_list_work)){+.+.}-{0:0}, at:<br />
process_one_work+0x211/0x560<br />
<br />
which lock already depends on the new lock.<br />
<br />
the existing dependency chain (in reverse order) is:<br />
<br />
-> #3 ((work_completion)(&svms->deferred_list_work)){+.+.}-{0:0}:<br />
__flush_work+0x88/0x4f0<br />
svm_range_list_lock_and_flush_work+0x3d/0x110 [amdgpu]<br />
svm_range_set_attr+0xd6/0x14c0 [amdgpu]<br />
kfd_ioctl+0x1d1/0x630 [amdgpu]<br />
__x64_sys_ioctl+0x88/0xc0<br />
<br />
-> #2 (&info->lock#2){+.+.}-{3:3}:<br />
__mutex_lock+0x99/0xc70<br />
amdgpu_amdkfd_gpuvm_restore_process_bos+0x54/0x740 [amdgpu]<br />
restore_process_helper+0x22/0x80 [amdgpu]<br />
restore_process_worker+0x2d/0xa0 [amdgpu]<br />
process_one_work+0x29b/0x560<br />
worker_thread+0x3d/0x3d0<br />
<br />
-> #1 ((work_completion)(&(&process->restore_work)->work)){+.+.}-{0:0}:<br />
__flush_work+0x88/0x4f0<br />
__cancel_work_timer+0x12c/0x1c0<br />
kfd_process_notifier_release_internal+0x37/0x1f0 [amdgpu]<br />
__mmu_notifier_release+0xad/0x240<br />
exit_mmap+0x6a/0x3a0<br />
mmput+0x6a/0x120<br />
do_exit+0x322/0xb90<br />
do_group_exit+0x37/0xa0<br />
__x64_sys_exit_group+0x18/0x20<br />
do_syscall_64+0x38/0x80<br />
<br />
-> #0 (srcu){.+.+}-{0:0}:<br />
__lock_acquire+0x1521/0x2510<br />
lock_sync+0x5f/0x90<br />
__synchronize_srcu+0x4f/0x1a0<br />
__mmu_notifier_release+0x128/0x240<br />
exit_mmap+0x6a/0x3a0<br />
mmput+0x6a/0x120<br />
svm_range_deferred_list_work+0x19f/0x350 [amdgpu]<br />
process_one_work+0x29b/0x560<br />
worker_thread+0x3d/0x3d0<br />
<br />
other info that might help us debug this:<br />
Chain exists of:<br />
srcu --> &info->lock#2 --> (work_completion)(&svms->deferred_list_work)<br />
<br />
Possible unsafe locking scenario:<br />
<br />
CPU0 CPU1<br />
---- ----<br />
lock((work_completion)(&svms->deferred_list_work));<br />
lock(&info->lock#2);<br />
lock((work_completion)(&svms->deferred_list_work));<br />
sync(srcu);
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:*:*:*:*:*:*:*:* | 6.1.77 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.16 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.7.4 (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/1556c242e64cdffe58736aa650b0b395854fe4d4
- https://git.kernel.org/stable/c/2a9de42e8d3c82c6990d226198602be44f43f340
- https://git.kernel.org/stable/c/752312f6a79440086ac0f9b08d7776870037323c
- https://git.kernel.org/stable/c/b602f098f716723fa5c6c96a486e0afba83b7b94
- https://git.kernel.org/stable/c/1556c242e64cdffe58736aa650b0b395854fe4d4
- https://git.kernel.org/stable/c/2a9de42e8d3c82c6990d226198602be44f43f340
- https://git.kernel.org/stable/c/752312f6a79440086ac0f9b08d7776870037323c
- https://git.kernel.org/stable/c/b602f098f716723fa5c6c96a486e0afba83b7b94



