Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: accel/amdxdna: Fix locally exploitable BUG_ON in amdxdna_insert_pages() In amdxdna_insert_pages(), vm_flags_mod() sets VM_MIXEDMAP and clears VM_PFNMAP. If an unprivileged userspace process mmaps a non-imported GEM object and then calls madvise(MADV_DONTNEED), the PTEs will be successfully cleared because VM_MIXEDMAP allows this (unlike VM_PFNMAP). When userspace subsequently accesses the memory, drm_gem_shmem_fault() handles the page fault and attempts to map the backing shmem page via vmf_insert_pfn() which calls vmf_insert_pfn_prot(). Because the backing shmem page is normal system memory (pfn_valid(pfn) is true) and the VMA now has VM_MIXEDMAP set, won't this predictably trigger the explicit assertion BUG_ON((vma->vm_flags & VM_MIXEDMAP) && pfn_valid(pfn)) Fix by removing the vm_flags_mod() call and replacing the vm_insert_pages() pre-population with the handle_mm_fault() loop that was already used for the import (dma-buf) path.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected e486147c912f653ef4b60a6c7dbd4168a4c56a9f before 618fc8dc219c11b8b85f0c8e3f7ff46cc1544339; affected e486147c912f653ef4b60a6c7dbd4168a4c56a9f before 13339132d89d00b513dff0730bff3a313b9b13b5; affected e486147c912f653ef4b60a6c7dbd4168a4c56a9f before 4a19f7ab5972ef608b31ae921419bc3e04b3f8ad |
| Linux / Linux | affected 6.16; unaffected 0 before 6.16; unaffected 6.18.57 through 6.18.*; unaffected 7.1.9 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.