CVE-2025-38164

f2fs: zone: fix to avoid inconsistence in between SIT and SSA

published July 3, 2025

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

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

f2fs: zone: fix to avoid inconsistence in between SIT and SSA

w/ below testcase, it will cause inconsistence in between SIT and SSA.

create_null_blk 512 2 1024 1024

mkfs.f2fs -m /dev/nullb0

mount /dev/nullb0 /mnt/f2fs/

touch /mnt/f2fs/file

f2fs_io pinfile set /mnt/f2fs/file

fallocate -l 4GiB /mnt/f2fs/file

F2FS-fs (nullb0): Inconsistent segment (0) type [1, 0] in SSA and SIT

CPU: 5 UID: 0 PID: 2398 Comm: fallocate Tainted: G O 6.13.0-rc1 #84

Tainted: [O]=OOT_MODULE

Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006

Call Trace:

<TASK>

dump_stack_lvl+0xb3/0xd0

dump_stack+0x14/0x20

f2fs_handle_critical_error+0x18c/0x220 [f2fs]

f2fs_stop_checkpoint+0x38/0x50 [f2fs]

do_garbage_collect+0x674/0x6e0 [f2fs]

f2fs_gc_range+0x12b/0x230 [f2fs]

f2fs_allocate_pinning_section+0x5c/0x150 [f2fs]

f2fs_expand_inode_data+0x1cc/0x3c0 [f2fs]

f2fs_fallocate+0x3c3/0x410 [f2fs]

vfs_fallocate+0x15f/0x4b0

__x64_sys_fallocate+0x4a/0x80

x64_sys_call+0x15e8/0x1b80

do_syscall_64+0x68/0x130

entry_SYSCALL_64_after_hwframe+0x67/0x6f

RIP: 0033:0x7f9dba5197ca

F2FS-fs (nullb0): Stopped filesystem due to reason: 4

The reason is f2fs_gc_range() may try to migrate block in curseg, however,

its SSA block is not uptodate due to the last summary block data is still

in cache of curseg.

In this patch, we add a condition in f2fs_gc_range() to check whether

section is opened or not, and skip block migration for opened section.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00170 · 6.1th percentile
Published
2025-07-03T08:36Z
EPSS history
Timeline
  • 03 JUL 08:36Z
    f2fs: zone: fix to avoid inconsistence in between SIT and SSA
    cvelistv5