CVE-2026-31467

erofs: add GFP_NOIO in the bio completion if needed

High · published April 22, 2026

CVSS v3.1
7.5
EPSS
1%
Percentile
44.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

erofs: add GFP_NOIO in the bio completion if needed

The bio completion path in the process context (e.g. dm-verity)

will directly call into decompression rather than trigger another

workqueue context for minimal scheduling latencies, which can

then call vm_map_ram() with GFP_KERNEL.

Due to insufficient memory, vm_map_ram() may generate memory

swapping I/O, which can cause submit_bio_wait to deadlock

in some scenarios.

Trimmed down the call stack, as follows:

f2fs_submit_read_io

submit_bio //bio_list is initialized.

mmc_blk_mq_recovery

z_erofs_endio

vm_map_ram

__pte_alloc_kernel

__alloc_pages_direct_reclaim

shrink_folio_list

__swap_writepage

submit_bio_wait //bio_list is non-NULL, hang!!!

Use memalloc_noio_{save,restore}() to wrap up this path.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00541 · 44.7th percentile
Published
2026-04-22T13:53Z
EPSS history
Timeline
  • 22 APR 13:53Z
    erofs: add GFP_NOIO in the bio completion if needed
    cvelistv5