Skip to content
OpenAdvisories
Unscored CVE-2022-48664 EUVD-2022-51359GHSA-w94g-q3rj-7p4m

btrfs: fix hang during unmount when stopping a space reclaim worker

Published Apr 28, 2024 · Updated May 23, 2026 · Assigned by Linux

Vendor: Linux Product: Linux 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.2 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.2 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips 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.2 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.2 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.4 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.2 Package: linux-nvidia Package: linux-nvidia-6.2 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-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-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime 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-starfive-5.19 Package: linux-starfive-6.2 Package: linux-vmware Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

In the Linux kernel, the following vulnerability has been resolved:

btrfs: fix hang during unmount when stopping a space reclaim worker

Often when running generic/562 from fstests we can hang during unmount,
resulting in a trace like this:

Sep 07 11:52:00 debian9 unknown: run fstests generic/562 at 2022-09-07 11:52:00
Sep 07 11:55:32 debian9 kernel: INFO: task umount:49438 blocked for more than 120 seconds.
Sep 07 11:55:32 debian9 kernel: Not tainted 6.0.0-rc2-btrfs-next-122 #1
Sep 07 11:55:32 debian9 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 07 11:55:32 debian9 kernel: task:umount state:D stack: 0 pid:49438 ppid: 25683 flags:0x00004000
Sep 07 11:55:32 debian9 kernel: Call Trace:
Sep 07 11:55:32 debian9 kernel: <TASK>
Sep 07 11:55:32 debian9 kernel: __schedule+0x3c8/0xec0
Sep 07 11:55:32 debian9 kernel: ? rcu_read_lock_sched_held+0x12/0x70
Sep 07 11:55:32 debian9 kernel: schedule+0x5d/0xf0
Sep 07 11:55:32 debian9 kernel: schedule_timeout+0xf1/0x130
Sep 07 11:55:32 debian9 kernel: ? lock_release+0x224/0x4a0
Sep 07 11:55:32 debian9 kernel: ? lock_acquired+0x1a0/0x420
Sep 07 11:55:32 debian9 kernel: ? trace_hardirqs_on+0x2c/0xd0
Sep 07 11:55:32 debian9 kernel: __wait_for_common+0xac/0x200
Sep 07 11:55:32 debian9 kernel: ? usleep_range_state+0xb0/0xb0
Sep 07 11:55:32 debian9 kernel: __flush_work+0x26d/0x530
Sep 07 11:55:32 debian9 kernel: ? flush_workqueue_prep_pwqs+0x140/0x140
Sep 07 11:55:32 debian9 kernel: ? trace_clock_local+0xc/0x30
Sep 07 11:55:32 debian9 kernel: __cancel_work_timer+0x11f/0x1b0
Sep 07 11:55:32 debian9 kernel: ? close_ctree+0x12b/0x5b3 [btrfs]
Sep 07 11:55:32 debian9 kernel: ? __trace_bputs+0x10b/0x170
Sep 07 11:55:32 debian9 kernel: close_ctree+0x152/0x5b3 [btrfs]
Sep 07 11:55:32 debian9 kernel: ? evict_inodes+0x166/0x1c0
Sep 07 11:55:32 debian9 kernel: generic_shutdown_super+0x71/0x120
Sep 07 11:55:32 debian9 kernel: kill_anon_super+0x14/0x30
Sep 07 11:55:32 debian9 kernel: btrfs_kill_super+0x12/0x20 [btrfs]
Sep 07 11:55:32 debian9 kernel: deactivate_locked_super+0x2e/0xa0
Sep 07 11:55:32 debian9 kernel: cleanup_mnt+0x100/0x160
Sep 07 11:55:32 debian9 kernel: task_work_run+0x59/0xa0
Sep 07 11:55:32 debian9 kernel: exit_to_user_mode_prepare+0x1a6/0x1b0
Sep 07 11:55:32 debian9 kernel: syscall_exit_to_user_mode+0x16/0x40
Sep 07 11:55:32 debian9 kernel: do_syscall_64+0x48/0x90
Sep 07 11:55:32 debian9 kernel: entry_SYSCALL_64_after_hwframe+0x63/0xcd
Sep 07 11:55:32 debian9 kernel: RIP: 0033:0x7fcde59a57a7
Sep 07 11:55:32 debian9 kernel: RSP: 002b:00007ffe914217c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
Sep 07 11:55:32 debian9 kernel: RAX: 0000000000000000 RBX: 00007fcde5ae8264 RCX: 00007fcde59a57a7
Sep 07 11:55:32 debian9 kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000055b57556cdd0
Sep 07 11:55:32 debian9 kernel: RBP: 000055b57556cba0 R08: 0000000000000000 R09: 00007ffe91420570
Sep 07 11:55:32 debian9 kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
Sep 07 11:55:32 debian9 kernel: R13: 000055b57556cdd0 R14: 000055b57556ccb8 R15: 0000000000000000
Sep 07 11:55:32 debian9 kernel: </TASK>

What happens is the following:

1) The cleaner kthread tries to start a transaction to delete an unused
block group, but the metadata reservation can not be satisfied right
away, so a reservation ticket is created and it starts the async
metadata reclaim task (fs_info->async_reclaim_work);

2) Writeback for all the filler inodes with an i_size of 2K starts
(generic/562 creates a lot of 2K files with the goal of filling
metadata space). We try to create an inline extent for them, but we
fail when trying to insert the inline extent with -ENOSPC (at
cow_file_range_inline()) - since this is not critical, we fallback
to non-inline mode (back to cow_file_range()), reserve extents
---truncated---

Affected products

VendorProductAffectedFixed
Linux Linux 4.14.120 – < 4.15, 4.19.12 – < 4.20, 4.20 4.15

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.0.2-1 —
Debian 13 linux 6.0.2-1 —
Debian 12 linux 6.0.2-1 —
ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS linux-raspi-realtime No fix yet —
Ubuntu 22.04 LTS linux +1 5.15.0-57.63 —
Ubuntu 22.04 LTS linux-aws 5.15.0-1027.31 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1030.37 —
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1030.37.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1026.33 —
Ubuntu 22.04 LTS linux-gke 5.15.0-1024.29 —
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1012.16 —
Ubuntu 22.04 LTS linux-ibm 5.15.0-1022.25 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1023.28 —
Ubuntu 22.04 LTS linux-kvm 5.15.0-1025.30 —
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1015.15 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1026.32 —
Ubuntu 22.04 LTS linux-raspi 5.15.0-1022.24 —
Ubuntu 22.04 LTS linux-riscv +22 No fix yet —
Ubuntu 20.04 LTS linux-aws-5.15 +1 5.15.0-1027.31~20.04.1 —
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1030.37~20.04.1 —
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1027.34~20.04.1 —
Ubuntu 20.04 LTS linux-gke +27 No fix yet —
Ubuntu 20.04 LTS linux-gkeop-5.15 5.15.0-1012.16~20.04.1 —
Ubuntu 20.04 LTS linux-hwe-5.15 5.15.0-57.63~20.04.1 —
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1023.28~20.04.1 —
Ubuntu 20.04 LTS linux-lowlatency-hwe-5.15 5.15.0-58.64~20.04.1 —
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1027.33~20.04.1 —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1029.32 —
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips No fix yet —
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 20.04 LTS linux +10 No fix yet —
Ubuntu Pro 18.04 LTS linux +12 No fix yet —
Ubuntu Pro 16.04 LTS linux-gcp +4 No fix yet —
Ubuntu Pro 14.04 LTS linux-azure No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.88.1 SUSE-SU-2024:4364-1
SLES 15 SP5 kernel-azure +2 5.14.21-150500.33.72.1 SUSE-SU-2024:3983-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.88.1.150500.6.39.4 SUSE-SU-2024:4364-1
SLES 15 SP4 kernel-64kb +6 5.14.21-150400.24.141.1 SUSE-SU-2024:4131-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.141.1.150400.24.68.2 SUSE-SU-2024:4131-1
SLES 15 SP3 kernel-64kb +6 5.3.18-150300.59.182.1 SUSE-SU-2024:4140-1
SLES 15 SP3 kernel-default-base 5.3.18-150300.59.182.1.150300.18.107.1 SUSE-SU-2024:4140-1
SLES 15 SP3 kernel-docs 5.3.18-150300.59.182.2 SUSE-SU-2024:4140-1
SLES 15 SP2 kernel-default-base 5.3.18-150200.24.209.1.150200.9.109.1 SUSE-SU-2024:4103-1
SLES 15 SP2 kernel-docs 5.3.18-150200.24.209.2 SUSE-SU-2024:4103-1
SLES 15 SP2 kernel-syms +4 5.3.18-150200.24.209.1 SUSE-SU-2024:4103-1
SLES 12 SP5 kernel-syms +2 4.12.14-122.250.1 SUSE-SU-2025:0834-1
Show 20 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.141.1.150400.24.68.2 SUSE-SU-2024:4131-1
SLES for SAP 15 SP4 kernel-docs +4 5.14.21-150400.24.141.1 SUSE-SU-2024:4131-1
SLES for SAP 15 SP3 kernel-default-base 5.3.18-150300.59.182.1.150300.18.107.1 SUSE-SU-2024:4140-1
SLES for SAP 15 SP3 kernel-docs 5.3.18-150300.59.182.2 SUSE-SU-2024:4140-1
SLES for SAP 15 SP3 kernel-syms +4 5.3.18-150300.59.182.1 SUSE-SU-2024:4140-1
SLES for SAP 15 SP2 kernel-default-base 5.3.18-150200.24.209.1.150200.9.109.1 SUSE-SU-2024:4103-1
SLES for SAP 15 SP2 kernel-docs 5.3.18-150200.24.209.2 SUSE-SU-2024:4103-1
SLES for SAP 15 SP2 kernel-syms +4 5.3.18-150200.24.209.1 SUSE-SU-2024:4103-1
SLE Micro 5.5 kernel-default 5.14.21-150500.55.88.1 SUSE-SU-2024:4364-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.88.1.150500.6.39.4 SUSE-SU-2024:4364-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.76.1 SUSE-SU-2024:3985-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.141.1 SUSE-SU-2024:4131-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.141.1.150400.24.68.2 SUSE-SU-2024:4131-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.100.1 SUSE-SU-2024:4082-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.141.1 SUSE-SU-2024:4131-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.141.1.150400.24.68.2 SUSE-SU-2024:4131-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.100.1 SUSE-SU-2024:4082-1
SLE Micro 5.2 kernel-default 5.3.18-150300.59.182.1 SUSE-SU-2024:4140-1
SLE Micro 5.2 kernel-default-base 5.3.18-150300.59.182.1.150300.18.107.1 SUSE-SU-2024:4140-1
SLE Micro 5.2 kernel-rt +1 5.3.18-150300.191.1 SUSE-SU-2024:4081-1
SLE Micro 5.1 kernel-default 5.3.18-150300.59.182.1 SUSE-SU-2024:4140-1
SLE Micro 5.1 kernel-default-base 5.3.18-150300.59.182.1.150300.18.107.1 SUSE-SU-2024:4140-1
SLE Micro 5.1 kernel-rt +1 5.3.18-150300.191.1 SUSE-SU-2024:4081-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.88.1 SUSE-SU-2024:4364-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5-RT_Update_22 1-150500.11.3.1 SUSE-SU-2024:3985-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_21 1-150500.11.5.1 SUSE-SU-2024:4364-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.141.1 SUSE-SU-2024:4131-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_33 1-150400.9.5.1 SUSE-SU-2024:4131-1
SLE Live Patching 15 SP3 kernel-default 5.3.18-150300.59.182.1 SUSE-SU-2024:4140-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_50 1-150300.7.3.1 SUSE-SU-2024:4140-1
SLE Live Patching 15 SP2 kernel-default 5.3.18-150200.24.209.1 SUSE-SU-2024:4103-1
SLE Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_54 1-150200.5.3.1 SUSE-SU-2024:4103-1
SLE Live Patching 12 SP5 kernel-default 4.12.14-122.250.1 SUSE-SU-2025:0834-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_66 1-8.3.1 SUSE-SU-2025:0834-1
SLE HPC 15 SP4 kernel-64kb +5 5.14.21-150400.24.141.1 SUSE-SU-2024:4131-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.141.1.150400.24.68.2 SUSE-SU-2024:4131-1
SLE HPC 15 SP3 kernel-64kb +5 5.3.18-150300.59.182.1 SUSE-SU-2024:4140-1
SLE HPC 15 SP3 kernel-default-base 5.3.18-150300.59.182.1.150300.18.107.1 SUSE-SU-2024:4140-1
SLE HPC 15 SP3 kernel-docs 5.3.18-150300.59.182.2 SUSE-SU-2024:4140-1
SLE HPC 15 SP2 kernel-default-base 5.3.18-150200.24.209.1.150200.9.109.1 SUSE-SU-2024:4103-1
SLE HPC 15 SP2 kernel-docs 5.3.18-150200.24.209.2 SUSE-SU-2024:4103-1
SLE HPC 15 SP2 kernel-syms +4 5.3.18-150200.24.209.1 SUSE-SU-2024:4103-1
SUSE Real Time Module 15 SP5 kernel-rt +3 5.14.21-150500.13.76.1 SUSE-SU-2024:3985-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.141.1.150400.24.68.2 SUSE-SU-2024:4131-1
SUSE Manager Server 4.3 kernel-syms +3 5.14.21-150400.24.141.1 SUSE-SU-2024:4131-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.141.1.150400.24.68.2 SUSE-SU-2024:4131-1
SUSE Manager Proxy 4.3 kernel-syms +2 5.14.21-150400.24.141.1 SUSE-SU-2024:4131-1
SUSE Enterprise Storage 7.1 kernel-64kb +5 5.3.18-150300.59.182.1 SUSE-SU-2024:4140-1
SUSE Enterprise Storage 7.1 kernel-default-base 5.3.18-150300.59.182.1.150300.18.107.1 SUSE-SU-2024:4140-1
SUSE Enterprise Storage 7.1 kernel-docs 5.3.18-150300.59.182.2 SUSE-SU-2024:4140-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.5 kernel-azure +2 5.14.21-150500.33.72.1 SUSE-SU-2024:3983-1
openSUSE Leap 15.5 kernel-rt +3 5.14.21-150500.13.76.1 SUSE-SU-2024:3985-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.5 kernel-rt 5.14.21-150500.13.76.1 SUSE-SU-2024:3985-1

Advisories 10

References