Executive brief
The Linux kernel's ARM64 hibernation code failed to properly restore CPU interrupt and exception state when an error occurred during memory tag saving. This could leave the CPU with interrupts disabled when it should be enabled, potentially causing system responsiveness issues or preventing proper error recovery during the hibernation process.
Technical details
The vulnerability exists in arch/arm64/kernel/hibernate.c in the swsusp_arch_suspend() function. When swsusp_mte_save_tags() fails, the code returns without restoring the DAIF (Debug, Async abort, IRQ, FIQ) state that was masked at the beginning of the function. This means the CPU's interrupt and exception handling remains disabled on the error path. The fix restores the saved DAIF state via local_daif_restore(flags) before returning from the error path. No exploit in the wild has been reported; this is a correctness fix affecting system stability during hibernation failure scenarios.
Affected products
- Linux Linux kernel Affects ARM64 hibernation code; patched in upstream and stable series
Timeline
- 2026-09-17: disclosed: CVE-2026-90290 published
- 2026-07-27: patched: Upstream commit 541549827889d0380fd73f8aacb5de6ef7a5a1ac by Vladimir Murzin
- 2026-09-14: other: Stable tree patches applied