Description
In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix to avoid potential deadlock
As Jiaming Zhang and syzbot reported, there is potential deadlock in
f2fs as below:
Chain exists of:
&sbi->cp_rwsem --> fs_reclaim --> sb_internal#2
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
rlock(sb_internal#2);
lock(fs_reclaim);
lock(sb_internal#2);
rlock(&sbi->cp_rwsem);
*** DEADLOCK ***
3 locks held by kswapd0/73:
#0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]
#0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389
#1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]
#1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197
#2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890
stack backtrace:
CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Call Trace:
<TASK>
dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043
check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175
check_prev_add kernel/locking/lockdep.c:3165 [inline]
check_prevs_add kernel/locking/lockdep.c:3284 [inline]
validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908
__lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237
lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868
down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537
f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]
f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]
f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791
f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867
f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925
f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897
evict+0x504/0x9c0 fs/inode.c:810
f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853
evict+0x504/0x9c0 fs/inode.c:810
dispose_list fs/inode.c:852 [inline]
prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000
super_cache_scan+0x39b/0x4b0 fs/super.c:224
do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437
shrink_slab_memcg mm/shrinker.c:550 [inline]
shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628
shrink_one+0x28a/0x7c0 mm/vmscan.c:4955
shrink_many mm/vmscan.c:5016 [inline]
lru_gen_shrink_node mm/vmscan.c:5094 [inline]
shrink_node+0x315d/0x3780 mm/vmscan.c:6081
kswapd_shrink_node mm/vmscan.c:6941 [inline]
balance_pgdat mm/vmscan.c:7124 [inline]
kswapd+0x147c/0x2800 mm/vmscan.c:7389
kthread+0x70e/0x8a0 kernel/kthread.c:463
ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
The root cause is deadlock among four locks as below:
kswapd
- fs_reclaim --- Lock A
- shrink_one
- evict
- f2fs_evict_inode
- sb_start_intwrite --- Lock B
- iput
- evict
- f2fs_evict_inode
- sb_start_intwrite --- Lock B
- f2fs_truncate
- f2fs_truncate_blocks
- f2fs_do_truncate_blocks
- f2fs_lock_op --- Lock C
ioctl
- f2fs_ioc_commit_atomic_write
- f2fs_lock_op --- Lock C
- __f2fs_commit_atomic_write
- __replace_atomic_write_block
- f2fs_get_dnode_of_data
- __get_node_folio
- f2fs_check_nid_range
- f2fs_handle_error
- f2fs_record_errors
- f2fs_down_write --- Lock D
open
- do_open
- do_truncate
- security_inode_need_killpriv
- f2fs_getxattr
- lookup_all_xattrs
- f2fs_handle_error
- f2fs_record_errors
- f2fs_down_write --- Lock D
- f2fs_commit_super
- read_mapping_folio
- filemap_alloc_folio_noprof
- prepare_alloc_pages
- fs_reclaim_acquire --- Lock A
In order to a
---truncated---
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.1 | 6.6.120 |
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 | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1017.21 | — |
| Ubuntu 26.04 LTS | linux-vmware | 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-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 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
Show 6 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-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 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.121.1-1 | — |
Advisories 20
- WID-SEC-2026-0086 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 11, 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-8184-1 linux-realtime, linux-realtime-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-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-6126-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026