CVE-2025-38580

ext4: fix inode use after free in ext4_end_io_rsv_work()

published August 19, 2025

CVSS
—
EPSS
0%
Percentile
6.0
In the wild
Unconfirmed
What it is

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

ext4: fix inode use after free in ext4_end_io_rsv_work()

In ext4_io_end_defer_completion(), check if io_end->list_vec is empty to

avoid adding an io_end that requires no conversion to the

i_rsv_conversion_list, which in turn prevents starting an unnecessary

worker. An ext4_emergency_state() check is also added to avoid attempting

to abort the journal in an emergency state.

Additionally, ext4_put_io_end_defer() is refactored to call

ext4_io_end_defer_completion() directly instead of being open-coded.

This also prevents starting an unnecessary worker when EXT4_IO_END_FAILED

is set but data_err=abort is not enabled.

This ensures that the check in ext4_put_io_end_defer() is consistent with

the check in ext4_end_bio(). Otherwise, we might add an io_end to the

i_rsv_conversion_list and then call ext4_finish_bio(), after which the

inode could be freed before ext4_end_io_rsv_work() is called, triggering

a use-after-free issue.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00169 · 6.0th percentile
Published
2025-08-19T17:03Z
EPSS history
Timeline
  • 19 AUG 17:03Z
    ext4: fix inode use after free in ext4_end_io_rsv_work()
    cvelistv5