In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix deadlock in wait_current_trans() due to ignored transaction type
When wait_current_trans() is called during start_transaction(), it currently waits for a blocked transaction without considering whether the given transaction type actually needs to wait for that particular transaction state. The btrfs_blocked_trans_types[] array already defines which transaction types should wait for which transaction states, but this check was missing in wait_current_trans().
This can lead to a deadlock scenario involving two transactions and pending ordered extents:
1. Transaction A is in TRANS_STATE_COMMIT_DOING state
2. A worker processing an ordered extent calls start_transaction() with TRANS_JOIN
3. join_transaction() returns -EBUSY because Transaction A is in TRANS_STATE_COMMIT_DOING
4. Transaction A moves to TRANS_STATE_UNBLOCKED and completes
5. A new Transaction B is created (TRANS_STATE_RUNNING)
6. The ordered extent from step 2 is added to Transaction B's pending ordered extents
7. Transaction B immediately starts commit by another task and enters TRANS_STATE_COMMIT_START
8. The worker finally reaches wait_current_trans(), sees Transaction B in TRANS_STATE_COMMIT_START (a blocked state), and waits unconditionally
9. However, TRANS_JOIN should NOT wait for TRANS_STATE_COMMIT_START according to btrfs_blocked_trans_types[]
10. Transaction B is waiting for pending ordered extents to complete
11. Deadlock: Transaction B waits for ordered extent, ordered extent waits for Transaction B
This can be illustrated by the following call stacks: CPU0 CPU1 btrfs_finish_ordered_io() start_transaction(TRANS_JOIN) join_transaction() # -EBUSY (Transaction A is # TRANS_STATE_COMMIT_DOING) # Transaction A completes # Transaction B created # ordered extent added to # Transaction B's pending list btrfs_commit_transaction() # Transaction B enters # TRANS_STATE_COMMIT_START # waiting for pending ordered # extents wait_current_trans() # waits for Transaction B # (should not wait!)
Task bstore_kv_sync in btrfs_commit_transaction waiting for ordered extents:
__schedule+0x2e7/0x8a0 schedule+0x64/0xe0 btrfs_commit_transaction+0xbf7/0xda0 [btrfs] btrfs_sync_file+0x342/0x4d0 [btrfs] __x64_sys_fdatasync+0x4b/0x80 do_syscall_64+0x33/0x40 entry_SYSCALL_64_after_hwframe+0x44/0xa9
Task kworker in wait_current_trans waiting for transaction commit:
Workqueue: btrfs-syno_nocow btrfs_work_helper [btrfs] __schedule+0x2e7/0x8a0 schedule+0x64/0xe0 wait_current_trans+0xb0/0x110 [btrfs] start_transaction+0x346/0x5b0 [btrfs] btrfs_finish_ordered_io.isra.0+0x49b/0x9c0 [btrfs] btrfs_work_helper+0xe8/0x350 [btrfs] process_one_work+0x1d3/0x3c0 worker_thread+0x4d/0x3e0 kthread+0x12d/0x150 ret_from_fork+0x1f/0x30
Fix this by passing the transaction type to wait_current_trans() and checking btrfs_blocked_trans_types[cur_trans->state] against the given type before deciding to wait. This ensures that transaction types which are allowed to join during certain blocked states will not unnecessarily wait and cause deadlocks.
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-livepatch-5.10.251-248.983Upgrade python-perfUpgrade perfUpgrade kernel-livepatch-5.15.201-140.219Upgrade python-perf-debuginfoUpgrade kernelUpgrade kernel-headersUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade kernel-tools-develUpgrade kernel-devel | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel6.12Upgrade kernel-libbpf-staticUpgrade kernel-modules-extraUpgrade kernel-libbpf-develUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel6.12-modules-extraUpgrade kernel6.12-headersUpgrade kernel-toolsUpgrade kernel6.12-modules-extra-commonUpgrade perf6.12Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-modules-extra-commonUpgrade python3-perf-debuginfoUpgrade kernel-livepatch-6.1.163-186.299Upgrade kernelUpgrade kernel-livepatch-6.12.68-92.122Upgrade kernel-headersUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel6.12-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade bpftoolUpgrade python3-perf6.12Upgrade kernel-develUpgrade python3-perfUpgrade perfUpgrade kernel6.12-tools-debuginfoUpgrade kernel-debuginfoUpgrade kernel6.12-develUpgrade perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade bpftool6.12Upgrade kernel6.12-libbpf-staticUpgrade bpftool6.12-debuginfoUpgrade kernel6.12-toolsUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-libbpfUpgrade kernel-tools-develUpgrade kernel-libbpf-debuginfoUpgrade perf6.12-debuginfoUpgrade kernel6.12-tools-develUpgrade kernel-libbpfUpgrade kernel-debuginfo-common-aarch64 | Mar 9, 2026 | Feb 4, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Feb 11, 2026 | Feb 11, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Mar 12, 2026 | Feb 4, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Feb 4, 2026 |
| Ubuntu | — | Upgrade linux-image-oem-24.04aUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-64k-6.17Upgrade linux-image-6.17.0-1018-azure-fdeUpgrade linux-image-gke-64k-6.8Upgrade linux-image-gkeop-5.15Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-6.8.0-1058-gcp-64kUpgrade linux-image-gcpUpgrade linux-image-gke-64kUpgrade linux-image-aws-64k-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-5.15.0-1099-ibmUpgrade linux-image-5.15.0-1101-gkeUpgrade linux-image-xilinxUpgrade linux-image-awsUpgrade linux-image-generic-64k-5.15Upgrade linux-image-azure-lts-24.04Upgrade linux-image-5.15.0-1097-kvmUpgrade linux-image-5.15.0-1100-nvidia-lowlatencyUpgrade linux-image-6.17.0-1021-gcpUpgrade linux-image-realtimeUpgrade linux-image-5.15.0-1088-gkeopUpgrade linux-image-5.15.0-1105-aws-64kUpgrade linux-image-6.8.0-1058-gcp-fipsUpgrade linux-image-6.8.0-1054-nvidia-lowlatencyUpgrade linux-image-6.17.0-1021-gcp-64kUpgrade linux-image-raspi-5.15Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-realtime-6.17Upgrade linux-image-5.15.0-1100-intel-iotgUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-ibm-6.8Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1058-gcpUpgrade linux-image-6.8.0-1024-nvidia-tegraUpgrade linux-image-realtime-5.15Upgrade linux-image-5.15.0-176-genericUpgrade linux-image-5.15.0-1105-gcp-fipsUpgrade linux-image-oracleUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-1054-nvidia-lowlatency-64kUpgrade linux-image-virtual-5.15Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-azure-fde-6.17Upgrade linux-image-gcp-6.17Upgrade linux-image-gcp-5.15Upgrade linux-image-oem-24.04cUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-20.04dUpgrade linux-image-oracle-64k-6.17Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-oem-24.04dUpgrade linux-image-gcp-fipsUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-generic-6.8Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-1041-gkeopUpgrade linux-image-6.8.0-117-lowlatencyUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1106-gcpUpgrade linux-image-5.15.0-176-fipsUpgrade linux-image-azure-fdeUpgrade linux-image-oracle-6.17Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-oem-6.17Upgrade linux-image-aws-64k-5.15Upgrade linux-image-aws-fips-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-aws-5.15Upgrade linux-image-nvidia-64kUpgrade linux-image-6.17.0-1019-oracleUpgrade linux-image-xilinx-6.8Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.17.0-1031-nvidia-64kUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-oracle-64kUpgrade linux-image-azure-fipsUpgrade linux-image-gcp-6.8Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-virtual-6.8Upgrade linux-image-aws-lts-22.04Upgrade linux-image-fips-5.15Upgrade linux-image-5.15.0-1105-awsUpgrade linux-image-5.15.0-176-generic-64kUpgrade linux-image-6.8.0-1059-azureUpgrade linux-image-kvmUpgrade linux-image-5.15.0-1110-azureUpgrade linux-image-6.8.0-1054-gke-64kUpgrade linux-image-raspi-6.8Upgrade linux-image-azure-5.15Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1055-aws-fipsUpgrade linux-image-nvidia-6.17Upgrade linux-image-genericUpgrade linux-image-5.15.0-1097-intel-iot-realtimeUpgrade linux-image-lowlatency-6.8Upgrade linux-image-generic-64kUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-gkeopUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-5.15.0-1057-nvidia-tegra-rtUpgrade linux-image-6.8.0-1054-nvidia-64kUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-116-fipsUpgrade linux-image-6.8.0-117-genericUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-6.8.0-1059-azure-fipsUpgrade linux-image-6.17.0-1030-oemUpgrade linux-image-6.17.0-1019-oracle-64kUpgrade linux-image-6.17.0-1018-realtimeUpgrade linux-image-5.15.0-176-generic-lpaeUpgrade linux-image-5.15.0-1102-oracleUpgrade linux-image-oem-20.04cUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-gke-6.8Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1055-aws-64kUpgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-fipsUpgrade linux-image-azure-6.8Upgrade linux-image-6.8.0-117-lowlatency-64kUpgrade linux-image-6.8.0-1055-ibmUpgrade linux-image-5.15.0-1110-azure-fipsUpgrade linux-image-oem-20.04Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1024-nvidia-tegra-rtUpgrade linux-image-kvm-5.15Upgrade linux-image-5.15.0-1099-raspiUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-ibm-5.15Upgrade linux-image-ibmUpgrade linux-image-gkeop-6.8Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-6.8.0-1032-xilinxUpgrade linux-image-oracle-5.15Upgrade linux-image-oem-24.04bUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-intelUpgrade linux-image-5.15.0-1046-nvidia-tegra-igxUpgrade linux-image-6.8.0-1054-gkeUpgrade linux-image-nvidia-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-gkeUpgrade linux-image-generic-5.15Upgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-1056-azureUpgrade linux-image-5.15.0-1104-realtimeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-nvidia-tegraUpgrade linux-image-nvidia-hwe-24.04Upgrade linux-image-5.15.0-1070-xilinx-zynqmpUpgrade linux-image-generic-lpaeUpgrade linux-image-gcp-64k-6.17Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-gke-5.15Upgrade linux-image-6.8.0-117-generic-64kUpgrade linux-image-6.8.0-1055-awsUpgrade linux-image-6.17.0-1021-azureUpgrade linux-image-5.15.0-175-lowlatency-64kUpgrade linux-image-5.15.0-1100-nvidiaUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1046-nvidia-tegra-igx-rtUpgrade linux-image-raspiUpgrade linux-image-azure-fips-5.15Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-azure-6.17Upgrade linux-image-6.8.0-1054-nvidiaUpgrade linux-image-nvidia-64k-hwe-24.04Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-5.15.0-1105-gcpUpgrade linux-image-5.15.0-1057-nvidia-tegraUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.1-1051-realtimeUpgrade linux-image-6.8.0-2045-raspi-realtimeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-azureUpgrade linux-image-oem-20.04bUpgrade linux-image-nvidia-6.8Upgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1056-raspiUpgrade linux-image-intel-iotgUpgrade linux-image-realtime-6.8.1Upgrade linux-image-6.17.0-1031-nvidiaUpgrade linux-image-5.15.0-175-lowlatency | Apr 10, 2026 | Feb 4, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Feb 4, 2026 |
Prioritise with Active Threat Intelligence
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