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.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade perf6.12Upgrade python3-perf6.12-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel6.12-libbpf-debuginfoUpgrade bpftool6.12Upgrade kernel6.12-libbpf-staticUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-libbpfUpgrade bpftool6.12-debuginfoUpgrade kernel6.12-develUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-headersUpgrade kernel6.12-debuginfoUpgrade kernel6.12-debuginfo-common-aarch64Upgrade perf6.12-debuginfoUpgrade kernel6.12Upgrade python3-perf6.12Upgrade kernel-livepatch-6.12.73-95.123Upgrade kernel6.12-toolsUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-modules-extraUpgrade kernel6.12-tools-devel | Mar 27, 2026 | Feb 18, 2026 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Mar 25, 2026 | Feb 18, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Feb 18, 2026 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1054-nvidia-lowlatency-64kUpgrade linux-image-generic-64k-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1054-gke-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.1-1051-realtimeUpgrade linux-image-kvmUpgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1024-nvidia-tegraUpgrade linux-image-gke-64kUpgrade linux-image-xilinxUpgrade linux-image-6.8.0-1059-azureUpgrade linux-image-6.8.0-1055-aws-fipsUpgrade linux-image-gke-6.8Upgrade linux-image-realtimeUpgrade linux-image-gke-64k-6.8Upgrade linux-image-raspi-realtimeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-xilinx-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-virtual-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1054-nvidia-lowlatencyUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-6.8.0-1041-gkeopUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1058-gcpUpgrade linux-image-azure-fips-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-1055-aws-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1056-azureUpgrade linux-image-gkeop-6.8Upgrade linux-image-gkeopUpgrade linux-image-virtualUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1058-gcp-64kUpgrade linux-image-raspiUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-gcp-fipsUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1032-xilinxUpgrade linux-image-fipsUpgrade linux-image-6.8.0-1059-azure-fipsUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-116-fipsUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-ibmUpgrade linux-image-6.8.0-1055-ibmUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-117-generic-64kUpgrade linux-image-6.8.0-117-genericUpgrade linux-image-6.8.0-1054-nvidia-64kUpgrade linux-image-6.8.0-1024-nvidia-tegra-rtUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.8.0-1054-nvidiaUpgrade linux-image-nvidia-tegraUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-gkeUpgrade linux-image-genericUpgrade linux-image-azureUpgrade linux-image-aws-fipsUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-2045-raspi-realtimeUpgrade linux-image-6.8.0-117-lowlatency-64kUpgrade linux-image-6.8.0-1056-raspiUpgrade linux-image-6.8.0-1055-awsUpgrade linux-image-generic-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1054-gkeUpgrade linux-image-azure-6.8Upgrade linux-image-6.8.0-1058-gcp-fipsUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-117-lowlatency | May 25, 2026 | May 19, 2026 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub