alpha: fix user-space corruption during memory compaction
- 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.75, 6.18.16, 6.19.6
- 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: alpha: fix user-space corruption during memory compaction Alpha systems can suffer sporadic user-space crashes and heap corruption when memory compaction is enabled. Symptoms include SIGSEGV, glibc allocator failures (e.g. "unaligned tcache chunk"), and compiler internal errors. The failures disappear when compaction is disabled or when using global TLB invalidation. The root cause is insufficient TLB shootdown during page migration. Alpha relies on ASN-based MM context rollover for instruction cache coherency, but this alone is not sufficient to prevent stale data or instruction translations from surviving migration. Fix this by introducing a migration-specific helper that combines: • MM context invalidation (ASN rollover), • immediate per-CPU TLB invalidation (TBI), • synchronous cross-CPU shootdown when required. The helper is used only by migration/compaction paths to avoid changing global TLB semantics. Additionally, update flush_tlb_other(), pte_clear(), to use READ_ONCE()/WRITE_ONCE() for correct SMP memory ordering. This fixes observed crashes on both UP and SMP Alpha systems.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From a48d07afdf18212de22b959715b16793c5a6e57a · fixed in 5593c9b255ae73f57a8b5e696a660032acbd67da; From a48d07afdf18212de22b959715b16793c5a6e57a · fixed in d4ca6ca2c6f5a1d19d9014c5b36d96637846b5d6; From a48d07afdf18212de22b959715b16793c5a6e57a · fixed in 03e42b5f7ad4c2c3db8bd384bab7990d5d53c90f; From a48d07afdf18212de22b959715b16793c5a6e57a · fixed in bab8d762a8dbb816b10011e13b87d1bca91e5f77; From a48d07afdf18212de22b959715b16793c5a6e57a · fixed in dd5712f3379cfe760267cdd28ff957d9ab4e51c7
- Linux Linux
2.6.16
- KernelLinux
From 2.6.16 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.75; From 6.13.0 · fixed in 6.18.16; From 6.19.0 · fixed in 6.19.6