iommu/amd: Do not reallocate GA log buffers on resume
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.114, 6.18.53, 7.2.7
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From c5e1a1eb9279fdb28d47ca2a4493a4c53b7d6a0b · fixed in 8b95269d7a43b737c2c0e2fa77bf00cc8a3a4434; From c5e1a1eb9279fdb28d47ca2a4493a4c53b7d6a0b · fixed in ff85cdc2889e1c885eed218ee5bc0b59e0235b3f; From c5e1a1eb9279fdb28d47ca2a4493a4c53b7d6a0b · fixed in 94458b80d3b203c1c9e2c98aa7319b7713e006c0; From c5e1a1eb9279fdb28d47ca2a4493a4c53b7d6a0b · fixed in b6be275d19cee01f8f1f08a2ff18337103d05d40; From c5e1a1eb9279fdb28d47ca2a4493a4c53b7d6a0b · fixed in 00a7dd64888d6dd72110b40e2824a088cf7b7386
- Linux Linux
6.0
- KernelLinux
From 6.0.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7