Description
In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix to don't set SB_RDONLY in f2fs_handle_critical_error()
syzbot reports a f2fs bug as below:
------------[ cut here ]------------
WARNING: CPU: 1 PID: 58 at kernel/rcu/sync.c:177 rcu_sync_dtor+0xcd/0x180 kernel/rcu/sync.c:177
CPU: 1 UID: 0 PID: 58 Comm: kworker/1:2 Not tainted 6.10.0-syzkaller-12562-g1722389b0d86 #0
Workqueue: events destroy_super_work
RIP: 0010:rcu_sync_dtor+0xcd/0x180 kernel/rcu/sync.c:177
Call Trace:
percpu_free_rwsem+0x41/0x80 kernel/locking/percpu-rwsem.c:42
destroy_super_work+0xec/0x130 fs/super.c:282
process_one_work kernel/workqueue.c:3231 [inline]
process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312
worker_thread+0x86d/0xd40 kernel/workqueue.c:3390
kthread+0x2f0/0x390 kernel/kthread.c:389
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
As Christian Brauner pointed out [1]: the root cause is f2fs sets
SB_RDONLY flag in internal function, rather than setting the flag
covered w/ sb->s_umount semaphore via remount procedure, then below
race condition causes this bug:
- freeze_super()
- sb_wait_write(sb, SB_FREEZE_WRITE)
- sb_wait_write(sb, SB_FREEZE_PAGEFAULT)
- sb_wait_write(sb, SB_FREEZE_FS)
- f2fs_handle_critical_error
- sb->s_flags |= SB_RDONLY
- thaw_super
- thaw_super_locked
- sb_rdonly() is true, so it skips
sb_freeze_unlock(sb, SB_FREEZE_FS)
- deactivate_locked_super
Since f2fs has almost the same logic as ext4 [2] when handling critical
error in filesystem if it mounts w/ errors=remount-ro option:
- set CP_ERROR_FLAG flag which indicates filesystem is stopped
- record errors to superblock
- set SB_RDONLY falg
Once we set CP_ERROR_FLAG flag, all writable interfaces can detect the
flag and stop any further updates on filesystem. So, it is safe to not
set SB_RDONLY flag, let's remove the logic and keep in line w/ ext4 [3].
[1] https://lore.kernel.org/all/20240729-himbeeren-funknetz-96e62f9c7aee@brauner
[2] https://lore.kernel.org/all/20240729132721.hxih6ehigadqf7wx@quack3
[3] https://lore.kernel.org/linux-ext4/20240805201241.27286-1-jack@suse.cz
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.4.4 – < 6.5, 6.5 | 6.5 |
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.11.2-1 | — |
| Debian 13 | linux | 6.11.2-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | linux | 6.8.0-54.56 | USN-7301-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1023.25 | USN-7311-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1025.30 | USN-7384-1 |
| Ubuntu 24.04 LTS | linux-azure-6.11 | 6.11.0-1012.12~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1014.15 | USN-7468-1 |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1024.26 | USN-7304-1 |
| Ubuntu 24.04 LTS | linux-gcp-6.11 | 6.11.0-1011.11~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-gke +1 | 6.8.0-1019.23 | USN-7304-1, USN-7303-3 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1006.8 | USN-7304-1 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1022.22 | USN-7385-1 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-54.56.1 | USN-7301-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1022.25 | USN-7303-1 |
| Ubuntu 24.04 LTS | linux-nvidia-6.11 | 6.11.0-1007.7 | — |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1022.25.2 | USN-7303-1 |
| Ubuntu 24.04 LTS | linux-oem-6.11 | 6.11.0-1015.15 | USN-7310-1 |
| Ubuntu 24.04 LTS | linux-oem-6.8 | 6.8.0-1024.24 | USN-7386-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1020.21 | USN-7303-2 |
| Ubuntu 24.04 LTS | linux-realtime | No fix yet | — |
| Ubuntu 24.04 LTS | linux-riscv | 6.8.0-53.55.1 | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1017.18 | — |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1023.25~22.04.1 | USN-7311-1 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1025.30~22.04.1 | USN-7384-2 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1024.26~22.04.1 | USN-7303-3 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-57.59~22.04.1 | USN-7403-1 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1023.23~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-54.56.1~22.04.1 | USN-7301-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1022.25~22.04.2 | USN-7303-1 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1020.21~22.04.1 | USN-7303-2 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-53.55.1~22.04.1 | — |
| 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 | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2018.19 | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1016.17 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1016.17~22.04.1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-78.78+fips1 | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | kernel-source | 6.11.8-1.1 | openSUSE-SU-2024:14500-1 |
| openSUSE Tumbleweed | kernel-source-longterm | 6.12.11-1.1 | openSUSE-SU-2025:14705-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.56.1-5 | — |
Advisories 16
- WID-SEC-2024-3251 Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service BSI CERT-Bund (WID) · Nov 11, 2026
- USN-7468-1 linux-azure-nvidia vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7310-1 linux-oem-6.11 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7384-2 linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7384-1 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7386-1 linux-oem-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7303-1 linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7304-1 linux-gcp, linux-gke, linux-gkeop vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7301-1 linux, linux-lowlatency, linux-lowlatency-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7403-1 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7303-2 linux-oracle, linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7311-1 linux-aws, linux-aws-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7385-1 linux-ibm vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7303-3 linux-gcp-6.8, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- openSUSE-SU-2025:14705-1 kernel-devel-longterm-6.12.11-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:14500-1 kernel-devel-6.11.8-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026