Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38520— drm/amdkfd: Don't call mmput from MMU notifier callback

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于amdkfd在MMU通知回调中调用mmput,可能导致死锁。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.12% · P2

Possible ATT&CK Techniques 2 AI

T1499 · Endpoint Denial of Service T1045

Affected Version Matrix 16

VendorProduct Version RangeStatus
Linux Linux fa582c6f3684ac0098a9d02ddf0ed52a02b37127< c1bde9d48e09933c361521720f77a8072083c83a affected
fa582c6f3684ac0098a9d02ddf0ed52a02b37127< 145a56bd68f4bff098d59fbc7c263d20dfef4fc4 affected
fa582c6f3684ac0098a9d02ddf0ed52a02b37127< e90ee15ce28c61f6d83a0511c3e02e2662478350 affected
fa582c6f3684ac0098a9d02ddf0ed52a02b37127< a7eb0a25010a674c8fdfbece38353ef7be8c5834 affected
fa582c6f3684ac0098a9d02ddf0ed52a02b37127< cf234231fcbc7d391e2135b9518613218cc5347f affected
09c5cdbc62d99fc6306a21b24b60eb11a3bd0963 affected
4b29b8d7c20f54eec0ff266b4a3f419bd251ed83 affected
5.15.49< 5.16 affected
… +8 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38520

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
drm/amdkfd: Don't call mmput from MMU notifier callback
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Don't call mmput from MMU notifier callback If the process is exiting, the mmput inside mmu notifier callback from compactd or fork or numa balancing could release the last reference of mm struct to call exit_mmap and free_pgtable, this triggers deadlock with below backtrace. The deadlock will leak kfd process as mmu notifier release is not called and cause VRAM leaking. The fix is to take mm reference mmget_non_zero when adding prange to the deferred list to pair with mmput in deferred list work. If prange split and add into pchild list, the pchild work_item.mm is not used, so remove the mm parameter from svm_range_unmap_split and svm_range_add_child. The backtrace of hung task: INFO: task python:348105 blocked for more than 64512 seconds. Call Trace: __schedule+0x1c3/0x550 schedule+0x46/0xb0 rwsem_down_write_slowpath+0x24b/0x4c0 unlink_anon_vmas+0xb1/0x1c0 free_pgtables+0xa9/0x130 exit_mmap+0xbc/0x1a0 mmput+0x5a/0x140 svm_range_cpu_invalidate_pagetables+0x2b/0x40 [amdgpu] mn_itree_invalidate+0x72/0xc0 __mmu_notifier_invalidate_range_start+0x48/0x60 try_to_unmap_one+0x10fa/0x1400 rmap_walk_anon+0x196/0x460 try_to_unmap+0xbb/0x210 migrate_page_unmap+0x54d/0x7e0 migrate_pages_batch+0x1c3/0xae0 migrate_pages_sync+0x98/0x240 migrate_pages+0x25c/0x520 compact_zone+0x29d/0x590 compact_zone_order+0xb6/0xf0 try_to_compact_pages+0xbe/0x220 __alloc_pages_direct_compact+0x96/0x1a0 __alloc_pages_slowpath+0x410/0x930 __alloc_pages_nodemask+0x3a9/0x3e0 do_huge_pmd_anonymous_page+0xd7/0x3e0 __handle_mm_fault+0x5e3/0x5f0 handle_mm_fault+0xf7/0x2e0 hmm_vma_fault.isra.0+0x4d/0xa0 walk_pmd_range.isra.0+0xa8/0x310 walk_pud_range+0x167/0x240 walk_pgd_range+0x55/0x100 __walk_page_range+0x87/0x90 walk_page_range+0xf6/0x160 hmm_range_fault+0x4f/0x90 amdgpu_hmm_range_get_pages+0x123/0x230 [amdgpu] amdgpu_ttm_tt_get_user_pages+0xb1/0x150 [amdgpu] init_user_pages+0xb1/0x2a0 [amdgpu] amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu+0x543/0x7d0 [amdgpu] kfd_ioctl_alloc_memory_of_gpu+0x24c/0x4e0 [amdgpu] kfd_ioctl+0x29d/0x500 [amdgpu] (cherry picked from commit a29e067bd38946f752b0ef855f3dfff87e77bec7)
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于amdkfd在MMU通知回调中调用mmput,可能导致死锁。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux fa582c6f3684ac0098a9d02ddf0ed52a02b37127 ~ c1bde9d48e09933c361521720f77a8072083c83a -
Linux Linux 5.19 -

II. Public POCs for CVE-2025-38520

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-38520

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-08-16 · 59 CVEs total

CVE-2025-38527 9.8 CRITICAL smb: client: fix use-after-free in cifs_oplock_break
CVE-2025-38533 9.8 CRITICAL net: libwx: fix the using of Rx buffer DMA
CVE-2025-38552 9.4 CRITICAL mptcp: plug races between subflow fail and subflow creation
CVE-2023-3867 9.1 CRITICAL ksmbd: fix out of bounds read in smb2_sess_setup
CVE-2023-4515 9.1 CRITICAL ksmbd: validate command request size
CVE-2023-32249 9.1 CRITICAL ksmbd: not allow guest user on multichannel
CVE-2025-38512 8.8 HIGH wifi: prevent A-MSDU attacks in mesh networks
CVE-2025-38511 8.8 HIGH drm/xe/pf: Clear all LMTT pages on alloc
CVE-2023-4130 8.1 HIGH ksmbd: fix wrong next length validation of ea buffer in smb2_set_ea()
CVE-2023-3865 8.1 HIGH ksmbd: fix out-of-bound read in smb2_write
CVE-2025-38539 7.8 HIGH tracing: Add down_write(trace_event_sem) when adding trace event
CVE-2025-38532 7.8 HIGH net: libwx: properly reset Rx ring descriptor
CVE-2025-38542 7.8 HIGH net: appletalk: Fix device refcount leak in atrtr_create()
CVE-2025-38536 7.8 HIGH net: airoha: fix potential use-after-free in airoha_npu_get()
CVE-2025-38502 7.8 HIGH bpf: Fix oob access in cgroup local storage
CVE-2025-38550 7.8 HIGH ipv6: mcast: Delay put pmc->idev in mld_del_delrec()
CVE-2025-38514 7.5 HIGH rxrpc: Fix oops due to non-existence of prealloc backlog struct
CVE-2025-38501 7.5 HIGH ksmbd: limit repeated connections from clients with the same IP
CVE-2025-38524 7.5 HIGH rxrpc: Fix recv-recv race of completed call
CVE-2025-38526 7.5 HIGH ice: add NULL check in eswitch lag check

Showing top 20 of 59 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-38520

No comments yet


Leave a comment