CVE Catalog

CVE-2026-98003

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel iommu/amd driver, iommu_init_ga_log() unconditionally assigns the ga_log and ga_log_tail pointers, so each resume replaces the boot-time pointers and leaks both allocations. The function also uses GFP_KERNEL from a syscore resume callback, where interrupts are disabled and non-boot CPUs are offline. The fix returns early if both buffers are already allocated and clears the pointers in free_ga_log().

Risk Assessment

Each system resume causes a memory leak and potential IOMMU state corruption, which can lead to instability or denial of service after many suspend/resume cycles. Using GFP_KERNEL in an inappropriate context may cause allocation problems.

Recommendation

Update the Linux kernel to a version containing the fix. On AMD systems with IOMMU, avoid frequent suspend/resume cycles until patched.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: iommu/amd: Do not reallocate GA log buffers on resume Commit c5e1a1eb9279 ("iommu/amd: Simplify and Consolidate Virtual APIC (AVIC) Enablement") moved the GA log allocation from iommu_init_pci() to enable_iommus_vapic(), which is called on every resume. iommu_init_ga_log() assigns iommu->ga_log and iommu->ga_log_tail unconditionally. Each resume therefore replaces the boot-time pointers and leaks both old allocations. The function also uses GFP_KERNEL from a syscore resume callback, where interrupts are disabled and the non-boot CPUs are offline. Return early if both buffers are already allocated. Clear the pointers in free_ga_log() so a partial allocation failure cannot leave ga_log dangling.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS