Skip to content
OpenAdvisories
Unscored CVE-2025-71194 EUVD-2025-206804GHSA-g466-9rmr-2m23

btrfs: fix deadlock in wait_current_trans() due to ignored transaction type

Published Feb 4, 2026 · Updated Oct 19, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.14 Package: linux-aws-6.17 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.14 Package: linux-azure-6.17 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.14 Package: linux-azure-fde-6.2 Package: linux-azure-fde-6.8 Package: linux-azure-fips Package: linux-azure-nvidia Package: linux-azure-nvidia-6.14 Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.14 Package: linux-gcp-6.17 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.11 Package: linux-hwe-6.14 Package: linux-hwe-6.17 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-5.4 Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.11 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.17 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.11 Package: linux-oem-6.14 Package: linux-oem-6.17 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.14 Package: linux-oracle-6.17 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.14 Package: linux-realtime-6.17 Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.14 Package: linux-riscv-6.17 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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.

Affected products

VendorProductAffectedFixed
Linux Linux 3.11 5.10.249

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.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.18.8-1 —
Debian 13 linux 6.12.69-1 DSA-6126-1
Debian 12 linux 6.1.162-1 DSA-6127-1
Debian 11 linux 5.10.249-1 DLA-4475-1
Debian 11 linux-6.1 6.1.162-1~deb11u1 DLA-4476-1
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 24.04 LTS linux-bluefield 6.8.0-1022.26 —
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1089.91 —
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-6.17 6.17.0-1021.21~24.04.1 USN-8604-1
Ubuntu 24.04 LTS linux-azure-fde 6.8.0-1058.65 —
Ubuntu 24.04 LTS linux-azure-fde-6.17 6.17.0-1018.18~24.04.1 USN-8605-1
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-gcp-6.17 6.17.0-1021.24~24.04.1 USN-8570-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-hwe-6.17 6.17.0-41.41~24.04.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-6.17 6.17.0-1031.31 USN-8669-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-oem-6.17 6.17.0-1030.30 USN-8594-1
Ubuntu 24.04 LTS linux-oracle 6.8.0-1054.55 —
Ubuntu 24.04 LTS linux-oracle-6.17 6.17.0-1019.19~24.04.3 USN-8570-2
Ubuntu 24.04 LTS linux-raspi 6.8.0-1056.60 USN-8278-1
Ubuntu 24.04 LTS linux-riscv +20 No fix yet —
Ubuntu 24.04 LTS linux-xilinx 6.8.0-1032.33 USN-8499-1
Ubuntu 22.04 LTS linux 5.15.0-176.186 USN-8180-1
Ubuntu 22.04 LTS linux-aws 5.15.0-1105.112 USN-8180-1
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1057.60~22.04.1 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1110.119 USN-8180-3
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 5.15.0-1114.123 —
Ubuntu 22.04 LTS linux-azure-fde-6.8 6.8.0-1058.65~22.04.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1105.114 USN-8180-1
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1060.63~22.04.1 —
Ubuntu 22.04 LTS linux-gke 5.15.0-1101.107 USN-8180-1
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1088.96 USN-8180-1
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-124.124~22.04.1 —
Ubuntu 22.04 LTS linux-ibm +1 5.15.0-1099.102 USN-8180-6, USN-8180-5
Ubuntu 22.04 LTS linux-ibm-6.8 6.8.0-1055.56~22.04.1 USN-8278-1
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1100.106 USN-8180-3
Ubuntu 22.04 LTS linux-kvm 5.15.0-1097.102 USN-8180-3
Ubuntu 22.04 LTS linux-lowlatency 5.15.0-175.185 USN-8180-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 5.15.0-1100.101 USN-8180-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-nvidia-tegra 5.15.0-1057.57 USN-8187-1
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1046.46 USN-8187-1
Ubuntu 22.04 LTS linux-oracle 5.15.0-1102.108 USN-8180-1
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1054.55~22.04.1 —
Ubuntu 22.04 LTS linux-riscv +32 No fix yet —
Ubuntu 22.04 LTS linux-riscv-6.8 6.8.0-117.117~22.04.1 —
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1070.74 USN-8275-1
Show 18 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
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 No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-realtime-6.17 6.17.0-1018.20~24.04.1 USN-8570-1
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1097.99 USN-8186-1
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1104.113 USN-8186-1
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1051.52~22.04.1 USN-8278-1
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
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-aws-fips 5.15.0-1105.112+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1110.119+fips1 USN-8180-4
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-176.186+fips1 USN-8180-2
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1105.114+fips1 USN-8180-2
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 20.04 LTS linux +10 No fix yet —
Ubuntu Pro 20.04 LTS linux-aws-5.15 5.15.0-1105.112~20.04.1 USN-8180-1
Ubuntu Pro 20.04 LTS linux-azure-5.15 5.15.0-1110.119~20.04.1 USN-8243-1
Ubuntu Pro 20.04 LTS linux-gcp-5.15 5.15.0-1106.115~20.04.1 USN-8297-1
Ubuntu Pro 20.04 LTS linux-hwe-5.15 5.15.0-176.186~20.04.1 USN-8188-1
Ubuntu Pro 20.04 LTS linux-ibm-5.15 5.15.0-1099.102~20.04.1 USN-8180-5
Ubuntu Pro 20.04 LTS linux-intel-iotg-5.15 5.15.0-1100.106~20.04.1 USN-8180-3
Ubuntu Pro 20.04 LTS linux-lowlatency-hwe-5.15 5.15.0-175.185~20.04.1 USN-8180-1
Ubuntu Pro 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1057.57~20.04.1 USN-8162-1
Ubuntu Pro 20.04 LTS linux-oracle-5.15 5.15.0-1102.108~20.04.1 USN-8180-3
Ubuntu Pro 20.04 LTS linux-riscv-5.15 5.15.0-1099.103~20.04.1 —
Ubuntu Pro 18.04 LTS linux +12 No fix yet —
Ubuntu Pro 16.04 LTS linux +7 No fix yet —
Ubuntu Pro 14.04 LTS linux +3 No fix yet —
ReleasePackageFixed inAdvisory
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 12 SP5 kernel-syms +2 4.12.14-122.296.1 SUSE-SU-2026:1078-1
Show 8 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
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 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 12 SP5 kernel-default 4.12.14-122.296.1 SUSE-SU-2026:1078-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_78 1-8.3.1 SUSE-SU-2026:1078-1
SUSE Real Time Module 15 SP7 kernel-rt +2 6.4.0-150700.7.34.1 SUSE-SU-2026:0962-1
ReleasePackageFixed inAdvisory
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

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.12.68-92.122 +1 1:1.0-0.amzn2023 ALAS2023-2026-1468, ALAS2023-2026-1455
Amazon Linux 2023 perf +14 1:6.1.163-186.299.amzn2023 ALAS2023-2026-1468
Amazon Linux 2023 perf6.12 +14 1:6.12.68-92.122.amzn2023 ALAS2023-2026-1455

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel 6.6.126.1-1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 kernel-uek +34 6.12.0-109.67.6.el10uek ELSA-2026-50144
Oracle Linux 8 bpftool +18 5.15.0-318.199.3.2.el9uek ELSA-2026-50145

Advisories 48

References