CVE-2026-74716: accel/amdxdna: Fix locally exploitable BUG_ON in amdxdna_insert_pages()

Published Aug 22, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

accel/amdxdna: Fix locally exploitable BUGON in amdxdnainsertpages()

In amdxdnainsertpages(), vmflagsmod() sets VMMIXEDMAP and clears VMPFNMAP. If an unprivileged userspace process mmaps a non-imported GEM object and then calls madvise(MADVDONTNEED), the PTEs will be successfully cleared because VMMIXEDMAP allows this (unlike VMPFNMAP).

When userspace subsequently accesses the memory, drmgemshmemfault() handles the page fault and attempts to map the backing shmem page via vmfinsertpfn() which calls vmfinsertpfnprot(). Because the backing shmem page is normal system memory (pfnvalid(pfn) is true) and the VMA now has VMMIXEDMAP set, won't this predictably trigger the explicit assertion BUGON((vma->vmflags & VMMIXEDMAP) && pfnvalid(pfn))

Fix by removing the vmflagsmod() call and replacing the vminsertpages() pre-population with the handlemmfault() loop that was already used for the import (dma-buf) path.

Affected Software

1 affected component
Linux Linux kernel

Event History

Aug 22, 2026
CVE Published
via MITRE·03:33 PM
Data Sourced
via MITRE·03:33 PM
Description

Frequently Asked Questions

1

Who can trigger this issue?

An unprivileged local userspace process can trigger it by mapping a non-imported GEM object, using madvise(MADV_DONTNEED), and then accessing the memory again.

2

What is the likely impact of successful exploitation?

The described fault path reaches an explicit BUG_ON assertion in the kernel. This indicates a local denial-of-service condition through a kernel crash or BUG.

3

Does the issue require an imported DMA-BUF object?

No. The vulnerable path specifically involves a non-imported GEM object; the import (dma-buf) path already used the handle_mm_fault() approach adopted by the fix.

4

How can administrators determine whether systems are affected?

Affected systems contain the vulnerable amdxdna_insert_pages() behavior that sets VM_MIXEDMAP with vm_flags_mod() and pre-populates pages using vm_insert_pages(). The referenced stable kernel commits contain the correction that removes this flag modification and uses handle_mm_fault() instead.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203