Description
In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix to avoid updating compression context during writeback
Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:
Oops: divide error: 0000 [#1] SMP KASAN PTI
CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full)
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857
Call Trace:
<TASK>
f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]
__f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]
f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317
do_writepages+0x38e/0x640 mm/page-writeback.c:2634
filemap_fdatawrite_wbc mm/filemap.c:386 [inline]
__filemap_fdatawrite_range mm/filemap.c:419 [inline]
file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794
f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294
generic_write_sync include/linux/fs.h:3043 [inline]
f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259
new_sync_write fs/read_write.c:593 [inline]
vfs_write+0x7e9/0xe00 fs/read_write.c:686
ksys_write+0x19d/0x2d0 fs/read_write.c:738
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
The bug was triggered w/ below race condition:
fsync setattr ioctl
- f2fs_do_sync_file
- file_write_and_wait_range
- f2fs_write_cache_pages
: inode is non-compressed
: cc.cluster_size =
F2FS_I(inode)->i_cluster_size = 0
- tag_pages_for_writeback
- f2fs_setattr
- truncate_setsize
- f2fs_truncate
- f2fs_fileattr_set
- f2fs_setflags_common
- set_compress_context
: F2FS_I(inode)->i_cluster_size = 4
: set_inode_flag(inode, FI_COMPRESSED_FILE)
- f2fs_compressed_file
: return true
- f2fs_all_cluster_page_ready
: "pgidx % cc->cluster_size" trigger dividing 0 issue
Let's change as below to fix this issue:
- introduce a new atomic type variable .writeback in structure f2fs_inode_info
to track the number of threads which calling f2fs_write_cache_pages().
- use .i_sem lock to protect .writeback update.
- check .writeback before update compression context in f2fs_setflags_common()
to avoid race w/ ->writepages.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.6 | 6.1.160 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.18.3-1 | — |
| Debian 13 | linux | 6.12.69-1 | DSA-6126-1 |
| Debian 12 | linux | 6.1.162-1 | DSA-6127-1 |
| Debian 11 | linux-6.1 | 6.1.162-1~deb11u1 | DLA-4476-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1017.21 | — |
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | No fix yet | — |
| Ubuntu 25.10 | linux | 6.17.0-22.22 | USN-8177-1 |
| Ubuntu 25.10 | linux-aws +1 | 6.17.0-1012.12 | USN-8183-2, USN-8183-1 |
| Ubuntu 25.10 | linux-azure +1 | 6.17.0-1013.13 | USN-8245-1 |
| Ubuntu 25.10 | linux-azure-fde | No fix yet | — |
| Ubuntu 25.10 | linux-oracle | 6.17.0-1011.11 | USN-8183-2 |
| Ubuntu 25.10 | linux-realtime | 6.17.0-1010.11 | USN-8177-1 |
| Ubuntu 25.10 | linux-riscv | 6.17.0-22.22.1 | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-110.110 | USN-8179-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1052.55 | USN-8179-1 |
| Ubuntu 24.04 LTS | linux-aws-6.17 +1 | 6.17.0-1012.12~24.04.1 | USN-8183-2, USN-8183-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1054.60 | USN-8258-1 |
| Ubuntu 24.04 LTS | linux-azure-6.17 | 6.17.0-1013.13~24.04.1 | USN-8245-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1058.65 | — |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1039.42 | — |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1054.57 | USN-8179-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1050.56 | USN-8179-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1037.40 | USN-8179-1 |
| Ubuntu 24.04 LTS | linux-hwe-6.17 | 6.17.0-22.22~24.04.1 | USN-8183-2 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1051.51 | USN-8179-1 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-110.110.1 | USN-8179-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1051.54 | USN-8185-1 |
| Ubuntu 24.04 LTS | linux-nvidia-6.17 | 6.17.0-1018.18 | — |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1051.54.1 | USN-8185-2 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1022.22 | USN-8265-1 |
| Ubuntu 24.04 LTS | linux-oem-6.17 | 6.17.0-1020.20 | USN-8245-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1049.50 | USN-8203-1 |
| Ubuntu 24.04 LTS | linux-oracle-6.17 | 6.17.0-1011.11~24.04.1 | USN-8183-2 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1052.56 | USN-8179-3 |
| Ubuntu 24.04 LTS | linux-riscv +18 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-riscv-6.17 | 6.17.0-22.22.1~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1028.29 | USN-8261-1 |
| Ubuntu 22.04 LTS | linux +49 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1052.55~22.04.1 | USN-8179-1 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1059.65~22.04.1 | USN-8440-1 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1058.65~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1054.57~22.04.1 | USN-8179-4 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 +1 | 6.8.0-110.110~22.04.1 | USN-8179-3 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1051.51~22.04.1 | USN-8179-3 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-110.110.1~22.04.1 | USN-8179-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1051.54~22.04.1 | USN-8185-1 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1049.50~22.04.1 | USN-8203-1 |
Show 9 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2042.43 | USN-8204-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1047.48 | USN-8184-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.17 | 6.17.0-1010.11~24.04.1 | USN-8177-2 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime +1 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1047.48~22.04.1 | USN-8184-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1052.55+fips1 | USN-8179-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1053.59+fips1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-110.110+fips2 | USN-8179-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1054.57+fips1 | USN-8179-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux-aws-5.15 +10 | No fix yet | — |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.121.1-1 | — |
Advisories 22
- WID-SEC-2026-0086 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8440-1 linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8179-1 linux, linux-aws, linux-aws-6.8, linux-gcp, linux-gke, linux-gkeop, linux-ibm, linux-lowlatency, linux-lowlatency-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8183-2 linux-aws, linux-aws-6.17, linux-hwe-6.17, linux-oracle, linux-oracle-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8203-1 linux-oracle, linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8204-1 linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8184-1 linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8185-1 linux-nvidia, linux-nvidia-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8185-2 linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8179-3 linux-hwe-6.8, linux-ibm-6.8, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8265-1 linux-nvidia-tegra vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8258-1 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8179-4 linux-gcp-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8183-1 linux-gcp, linux-gcp-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8245-1 linux-azure, linux-azure-6.17, linux-oem-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8177-2 linux-realtime-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8179-2 linux-aws-fips, linux-fips, linux-gcp-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8177-1 linux, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8261-1 linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Sep 7, 2026
- DSA-6127-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DSA-6126-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-4476-1 linux-6.1 - security update Debian Security (DSA / DLA) · Feb 10, 2026
References
- https://git.kernel.org/stable/c/ad26bfbc085c939b5dca77ff8c14798c06d151c4
- https://git.kernel.org/stable/c/bcd0086ee5a2e88c1224ff2ec1e4a43c83efe5a0
- https://git.kernel.org/stable/c/0bf1a02494c7eb5bd43445de4c83c8592e02c4bf
- https://git.kernel.org/stable/c/0df713a9c082a474c8b0bcf670edc8e98461d5a0
- https://git.kernel.org/stable/c/10b591e7fb7cdc8c1e53e9c000dc0ef7069aaa76