CVE Catalog

CVE-2026-90389

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the md subsystem stores a memalloc_noio_save() token in mddev->noio_flags, allowing one task to save the token and another to restore it. With concurrent suspend sysfs writes, task A can enter PF_MEMALLOC_NOIO and return to userspace still in that scope, and task B can later restore A's saved token. The fix scopes PF_MEMALLOC_NOIO to allocation critical sections only.

Risk Assessment

Improper memory allocation flag management may lead to deadlocks or kernel crashes. Systems with md arrays and concurrent suspend operations are affected.

Recommendation

Update the Linux kernel to a version with the fix that scopes PF_MEMALLOC_NOIO to allocation critical sections. Avoid concurrent writes to suspend_lo and suspend_hi.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: md: scope memalloc_noio to allocation critical sections Storing a memalloc_noio_save() token in mddev->noio_flags lets one task save the token and another task restore it. With concurrent suspend sysfs writes, task A can enter PF_MEMALLOC_NOIO, return to userspace still in that scope, and later task B can restore A's saved token. Avoid tying the token lifetime to mddev. Keep mddev_suspend() and mddev_resume() only responsible for array suspension, and enter PF_MEMALLOC_NOIO only in the MD paths that allocate memory after the array has been suspended. Restore the token before resuming the array. A reproducer repeatedly writes suspend_lo and suspend_hi from concurrent workers and checks each worker's /proc/self/stat flags before and after the sysfs write.

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