CVE Catalog

CVE-2026-90043

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel zram module, the slot lock bit is set in the wrong position on 64-bit big-endian systems. Instead of landing in the flags field, it lands in ac_time, so with ZRAM_TRACK_ENTRY_ACTIME enabled, storing the access time wipes out the held lock bit and lets another CPU take the same slot lock. An access time value with that bit set can make the slot appear locked forever. The fix shifts the lock bit into the flags half on big-endian 64-bit.

Risk Assessment

On 64-bit big-endian systems with zram and access time tracking enabled, data corruption or slot hang may occur. This can lead to system reliability issues and potential memory problems.

Recommendation

Update the Linux kernel to a version containing the zram slot lock bit position fix for big-endian 64-bit. Until then, consider disabling ZRAM_TRACK_ENTRY_ACTIME on affected systems.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: zram: fix slot lock bit position on big-endian 64-bit The slot lock is a bit operation on the whole __lock word, which flags and ac_time alias as two u32s. On little-endian the lock bit lands in the position ZRAM_ENTRY_LOCK reserves in flags, so the aliasing works out. On 64-bit big-endian it lands in ac_time instead: with ZRAM_TRACK_ENTRY_ACTIME enabled, storing the access time from mark_slot_accessed() or slot_free() wipes out the held lock bit, letting another CPU take the same slot lock; an access time value with that bit set makes the slot look locked forever. Shift the lock bit into the flags half of the word on big-endian 64-bit.

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