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)(&amp;svms-&gt;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 /> -&gt; #3 ((work_completion)(&amp;svms-&gt;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 /> -&gt; #2 (&amp;info-&gt;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 /> -&gt; #1 ((work_completion)(&amp;(&amp;process-&gt;restore_work)-&gt;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 /> -&gt; #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 --&gt; &amp;info-&gt;lock#2 --&gt; (work_completion)(&amp;svms-&gt;deferred_list_work)<br /> <br /> Possible unsafe locking scenario:<br /> <br /> CPU0 CPU1<br /> ---- ----<br /> lock((work_completion)(&amp;svms-&gt;deferred_list_work));<br /> lock(&amp;info-&gt;lock#2);<br /> lock((work_completion)(&amp;svms-&gt;deferred_list_work));<br /> sync(srcu);

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)