CVE-2022-50435

ext4: avoid crash when inline data creation follows DIO write

published October 1, 2025

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

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

ext4: avoid crash when inline data creation follows DIO write

When inode is created and written to using direct IO, there is nothing

to clear the EXT4_STATE_MAY_INLINE_DATA flag. Thus when inode gets

truncated later to say 1 byte and written using normal write, we will

try to store the data as inline data. This confuses the code later

because the inode now has both normal block and inline data allocated

and the confusion manifests for example as:

kernel BUG at fs/ext4/inode.c:2721!

invalid opcode: 0000 [#1] PREEMPT SMP KASAN

CPU: 0 PID: 359 Comm: repro Not tainted 5.19.0-rc8-00001-g31ba1e3b8305-dirty #15

Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.0-1.fc36 04/01/2014

RIP: 0010:ext4_writepages+0x363d/0x3660

RSP: 0018:ffffc90000ccf260 EFLAGS: 00010293

RAX: ffffffff81e1abcd RBX: 0000008000000000 RCX: ffff88810842a180

RDX: 0000000000000000 RSI: 0000008000000000 RDI: 0000000000000000

RBP: ffffc90000ccf650 R08: ffffffff81e17d58 R09: ffffed10222c680b

R10: dfffe910222c680c R11: 1ffff110222c680a R12: ffff888111634128

R13: ffffc90000ccf880 R14: 0000008410000000 R15: 0000000000000001

FS: 00007f72635d2640(0000) GS:ffff88811b000000(0000) knlGS:0000000000000000

CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033

CR2: 0000565243379180 CR3: 000000010aa74000 CR4: 0000000000150eb0

Call Trace:

<TASK>

do_writepages+0x397/0x640

filemap_fdatawrite_wbc+0x151/0x1b0

file_write_and_wait_range+0x1c9/0x2b0

ext4_sync_file+0x19e/0xa00

vfs_fsync_range+0x17b/0x190

ext4_buffered_write_iter+0x488/0x530

ext4_file_write_iter+0x449/0x1b90

vfs_write+0xbcd/0xf40

ksys_write+0x198/0x2c0

__x64_sys_write+0x7b/0x90

do_syscall_64+0x3d/0x90

entry_SYSCALL_64_after_hwframe+0x63/0xcd

</TASK>

Fix the problem by clearing EXT4_STATE_MAY_INLINE_DATA when we are doing

direct IO write to a file.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00162 · 5.1th percentile
Published
2025-10-01T11:42Z
EPSS history
Timeline
  • 01 OCT 11:42Z
    ext4: avoid crash when inline data creation follows DIO write
    cvelistv5