Description
In the Linux kernel, the following vulnerability has been resolved:
btrfs: reject new transactions if the fs is fully read-only
[BUG]
There is a bug report where a heavily fuzzed fs is mounted with all
rescue mount options, which leads to the following warnings during
unmount:
BTRFS: Transaction aborted (error -22)
Modules linked in:
CPU: 0 UID: 0 PID: 9758 Comm: repro.out Not tainted
6.19.0-rc5-00002-gb71e635feefc #7 PREEMPT(full)
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
RIP: 0010:find_free_extent_update_loop fs/btrfs/extent-tree.c:4208 [inline]
RIP: 0010:find_free_extent+0x52f0/0x5d20 fs/btrfs/extent-tree.c:4611
Call Trace:
<TASK>
btrfs_reserve_extent+0x2cd/0x790 fs/btrfs/extent-tree.c:4705
btrfs_alloc_tree_block+0x1e1/0x10e0 fs/btrfs/extent-tree.c:5157
btrfs_force_cow_block+0x578/0x2410 fs/btrfs/ctree.c:517
btrfs_cow_block+0x3c4/0xa80 fs/btrfs/ctree.c:708
btrfs_search_slot+0xcad/0x2b50 fs/btrfs/ctree.c:2130
btrfs_truncate_inode_items+0x45d/0x2350 fs/btrfs/inode-item.c:499
btrfs_evict_inode+0x923/0xe70 fs/btrfs/inode.c:5628
evict+0x5f4/0xae0 fs/inode.c:837
__dentry_kill+0x209/0x660 fs/dcache.c:670
finish_dput+0xc9/0x480 fs/dcache.c:879
shrink_dcache_for_umount+0xa0/0x170 fs/dcache.c:1661
generic_shutdown_super+0x67/0x2c0 fs/super.c:621
kill_anon_super+0x3b/0x70 fs/super.c:1289
btrfs_kill_super+0x41/0x50 fs/btrfs/super.c:2127
deactivate_locked_super+0xbc/0x130 fs/super.c:474
cleanup_mnt+0x425/0x4c0 fs/namespace.c:1318
task_work_run+0x1d4/0x260 kernel/task_work.c:233
exit_task_work include/linux/task_work.h:40 [inline]
do_exit+0x694/0x22f0 kernel/exit.c:971
do_group_exit+0x21c/0x2d0 kernel/exit.c:1112
__do_sys_exit_group kernel/exit.c:1123 [inline]
__se_sys_exit_group kernel/exit.c:1121 [inline]
__x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1121
x64_sys_call+0x2210/0x2210 arch/x86/include/generated/asm/syscalls_64.h:232
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x44f639
Code: Unable to access opcode bytes at 0x44f60f.
RSP: 002b:00007ffc15c4e088 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 00000000004c32f0 RCX: 000000000044f639
RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000001
RBP: 0000000000000001 R08: ffffffffffffffc0 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000004c32f0
R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000001
</TASK>
Since rescue mount options will mark the full fs read-only, there should
be no new transaction triggered.
But during unmount we will evict all inodes, which can trigger a new
transaction, and triggers warnings on a heavily corrupted fs.
[CAUSE]
Btrfs allows new transaction even on a read-only fs, this is to allow
log replay happen even on read-only mounts, just like what ext4/xfs do.
However with rescue mount options, the fs is fully read-only and cannot
be remounted read-write, thus in that case we should also reject any new
transactions.
[FIX]
If we find the fs has rescue mount options, we should treat the fs as
error, so that no new transaction can be started.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.11 | 6.1.191 |
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.10-1 | — |
| Debian 13 | linux | 6.12.73-1 | DSA-6141-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-1022.26 | — |
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | No fix yet | — |
| Ubuntu 25.10 | linux +8 | No fix yet | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-117.117 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1055.58 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1056.62 | USN-8278-2 |
| 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-1058.61 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1054.60 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1041.44 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1055.56 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-117.117.1 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1054.57 | USN-8289-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1054.57.1 | USN-8289-1 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1024.24 | USN-8296-2 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1054.55 | — |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1056.60 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-riscv +26 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1032.33 | USN-8499-1 |
| Ubuntu 22.04 LTS | linux +49 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1057.60~22.04.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-1060.63~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-124.124~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1055.56~22.04.1 | USN-8278-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-117.117.1~22.04.1 | USN-8278-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1054.57~22.04.1 | USN-8289-2 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1054.55~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-117.117~22.04.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-2045.46 | USN-8278-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1051.52 | USN-8278-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 +1 | No fix yet | — |
| 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-1051.52~22.04.1 | USN-8278-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1055.58+fips1 | USN-8278-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1059.65+fips1 | USN-8393-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-116.116+fips1 | USN-8296-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1058.61+fips1 | USN-8278-1 |
| 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 | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +7 | 6.4.0-150700.53.34.1 | SUSE-SU-2026:1081-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.34.1.150700.17.23.1 | SUSE-SU-2026:1081-1 |
| SLES 15 SP6 | kernel-64kb +6 | 6.4.0-150600.23.92.1 | SUSE-SU-2026:1041-1 |
| SLES 15 SP6 | kernel-default-base | 6.4.0-150600.23.92.1.150600.12.42.2 | SUSE-SU-2026:1041-1 |
Show 9 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | kernel-64kb +8 | 6.12.0-160000.27.1 | SUSE-SU-2026:20931-1 |
| SLES for SAP 16.0 | kernel-default-base | 6.12.0-160000.27.1.160000.2.8 | SUSE-SU-2026:20931-1 |
| SLES for SAP 15 SP6 | kernel-default-base | 6.4.0-150600.23.92.1.150600.12.42.2 | SUSE-SU-2026:1041-1 |
| SLES for SAP 15 SP6 | kernel-docs +4 | 6.4.0-150600.23.92.1 | SUSE-SU-2026:1041-1 |
| SLES 16.0 | kernel-64kb +8 | 6.12.0-160000.27.1 | SUSE-SU-2026:20931-1 |
| SLES 16.0 | kernel-default-base | 6.12.0-160000.27.1.160000.2.8 | SUSE-SU-2026:20931-1 |
| SLE Micro 6.2 | kernel-default-base | 6.12.0-160000.27.1.160000.2.8 | SUSE-SU-2026:20838-1 |
| SLE Micro 6.2 | kernel-rt +5 | 6.12.0-160000.27.1 | SUSE-SU-2026:20873-1, SUSE-SU-2026:20838-1 |
| SLE Micro 6.1 | kernel-default-base | 6.4.0-40.1.21.17 | SUSE-SU-2026:20667-1 |
| SLE Micro 6.1 | kernel-rt +4 | 6.4.0-40.1 | SUSE-SU-2026:20876-1, SUSE-SU-2026:20667-1 |
| SLE Micro 6.0 | kernel-default-base | 6.4.0-40.1.21.17 | SUSE-SU-2026:20720-1 |
| SLE Micro 6.0 | kernel-rt +4 | 6.4.0-40.1 | SUSE-SU-2026:20845-1, SUSE-SU-2026:20720-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.34.1 | SUSE-SU-2026:1081-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_10 | 1-150700.1.3.1 | SUSE-SU-2026:0962-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_10 | 1-150700.15.3.1 | SUSE-SU-2026:1081-1 |
| SLE Live Patching 15 SP6 | kernel-default | 6.4.0-150600.23.92.1 | SUSE-SU-2026:1041-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_21 | 1-150600.13.5.1 | SUSE-SU-2026:1041-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt +2 | 6.4.0-150700.7.34.1 | SUSE-SU-2026:0962-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | kernel-default-base | 6.12.0-160000.27.1.160000.2.8 | openSUSE-SU-2026:20416-1 |
| openSUSE Leap 16.0 | kernel-rt +11 | 6.12.0-160000.27.1 | openSUSE-SU-2026:20416-1 |
| openSUSE Leap 15.6 | dtb-aarch64 +10 | 6.4.0-150600.23.92.1 | SUSE-SU-2026:1041-1 |
| openSUSE Leap 15.6 | kernel-default-base | 6.4.0-150600.23.92.1.150600.12.42.2 | SUSE-SU-2026:1041-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.12.73-95.123 | 1:1.0-0.amzn2023 | ALAS2023-2026-1487 |
| Amazon Linux 2023 | perf6.12 +14 | 1:6.12.73-95.123.amzn2023 | ALAS2023-2026-1487 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | No fix yet | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-200.74.27.el10uek | ELSA-2026-50372, ELSA-2026-50232, ELSA-2026-50160 |
Advisories 26
- WID-SEC-2026-0462 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-8499-1 linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8393-1 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8278-1 linux, linux-aws, linux-aws-fips, linux-gcp, linux-gcp-fips, linux-gke, linux-gkeop, linux-ibm, linux-ibm-6.8, linux-lowlatency, linux-lowlatency-hwe-6.8, linux-raspi, linux-raspi-realtime, linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8289-1 linux-nvidia, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8289-2 linux-nvidia-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8278-2 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8296-1 linux-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8296-2 linux-nvidia-tegra vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- SUSE-SU-2026:20873-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 9, 2026
- ELSA-2026-50372 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Jul 2, 2026
- ALAS2023-2026-1487 Important: kernel6.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · May 9, 2026
- ELSA-2026-50232 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Apr 15, 2026
- SUSE-SU-2026:20931-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Apr 2, 2026
- SUSE-SU-2026:20876-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 31, 2026
- openSUSE-SU-2026:20416-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 29, 2026
- SUSE-SU-2026:20845-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 28, 2026
- SUSE-SU-2026:20838-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 28, 2026
- SUSE-SU-2026:1081-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 27, 2026
- SUSE-SU-2026:1041-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 26, 2026
- SUSE-SU-2026:0962-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 24, 2026
- SUSE-SU-2026:20720-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20667-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- ELSA-2026-50160 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Mar 20, 2026
- DSA-6141-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
References
- https://git.kernel.org/stable/c/5319d8598ea45ae144149593ae701d2ca3bd3294
- https://git.kernel.org/stable/c/34614f5dd26c8257aafcdaf1053a797289359664
- https://git.kernel.org/stable/c/a928eecf030a9a5dc5f5ca98332699f379b91963
- https://git.kernel.org/stable/c/3228b2eceb6c3d7e237f8a5330113dbd164fb90d
- https://git.kernel.org/stable/c/1972f44c189c8aacde308fa9284e474c1a5cbd9f