In the Linux kernel, the following vulnerability has been resolved:
btrfs: qgroup: fix qgroup prealloc rsv leak in subvolume operations
Create subvolume, create snapshot and delete subvolume all use btrfs_subvolume_reserve_metadata() to reserve metadata for the changes done to the parent subvolume's fs tree, which cannot be mediated in the normal way via start_transaction. When quota groups (squota or qgroups) are enabled, this reserves qgroup metadata of type PREALLOC. Once the operation is associated to a transaction, we convert PREALLOC to PERTRANS, which gets cleared in bulk at the end of the transaction.
However, the error paths of these three operations were not implementing this lifecycle correctly. They unconditionally converted the PREALLOC to PERTRANS in a generic cleanup step regardless of errors or whether the operation was fully associated to a transaction or not. This resulted in error paths occasionally converting this rsv to PERTRANS without calling record_root_in_trans successfully, which meant that unless that root got recorded in the transaction by some other thread, the end of the transaction would not free that root's PERTRANS, leaking it. Ultimately, this resulted in hitting a WARN in CONFIG_BTRFS_DEBUG builds at unmount for the leaked reservation.
The fix is to ensure that every qgroup PREALLOC reservation observes the following properties:
1. any failure before record_root_in_trans is called successfully results in freeing the PREALLOC reservation. 2. after record_root_in_trans, we convert to PERTRANS, and now the transaction owns freeing the reservation.
This patch enforces those properties on the three operations. Without it, generic/269 with squotas enabled at mkfs time would fail in ~5-10 runs on my system. With this patch, it ran successfully 1000 times in a row.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel-tools-develUpgrade kernel-libbpfUpgrade perfUpgrade python3-perfUpgrade python3-perf-debuginfoUpgrade kernel-modules-extraUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade kernel-headersUpgrade perf-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade kernel-toolsUpgrade kernelUpgrade kernel-modules-extra-commonUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-develUpgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade kernel-libbpf-staticUpgrade kernel-livepatch-6.1.124-134.200 | Jun 11, 2025 | May 20, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jan 13, 2025 | May 20, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 20, 2024 |
| Suse | — | Upgrade dtb-nvidiaUpgrade dtb-socionextUpgrade kernel-rt-extraUpgrade dtb-allwinnerUpgrade dtb-caviumUpgrade dtb-freescaleUpgrade kernel-source-vanillaUpgrade kernel-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-kvmsmall-vdsoUpgrade kselftests-kmp-64kbUpgrade kernel-rt-optionalUpgrade kselftests-kmp-rtUpgrade dtb-broadcomUpgrade dlm-kmp-64kbUpgrade kernel-source-rtUpgrade kernel-default-livepatch-develUpgrade kernel-64kb-extraUpgrade dtb-qcomUpgrade kernel-default-base-rebuildUpgrade kernel-azure-extraUpgrade dtb-rockchipUpgrade kernel-rt-vdsoUpgrade kernel-default-manUpgrade dtb-lgUpgrade ocfs2-kmp-defaultUpgrade dtb-marvellUpgrade kernel-rt_debugUpgrade gfs2-kmp-defaultUpgrade kernel-docs-htmlUpgrade kernel-azure-develUpgrade kernel-default-baseUpgrade kernel-defaultUpgrade kernel-debug-vdsoUpgrade kernel-rt_debug-develUpgrade kernel-rt_debug-livepatch-develUpgrade ocfs2-kmp-64kbUpgrade reiserfs-kmp-rtUpgrade gfs2-kmp-azureUpgrade dtb-alteraUpgrade kernel-rtUpgrade dtb-sprdUpgrade kernel-default-livepatchUpgrade kernel-azure-baseUpgrade kselftests-kmp-azureUpgrade kernel-azure-optionalUpgrade kernel-default-vdsoUpgrade kernel-obs-buildUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-rt_debug-vdsoUpgrade reiserfs-kmp-defaultUpgrade dtb-appleUpgrade kernel-syms-azureUpgrade kernel-obs-qaUpgrade kernel-64kb-livepatch-develUpgrade kernel-sourceUpgrade kernel-rt-livepatchUpgrade kernel-kvmsmall-develUpgrade kernel-devel-azureUpgrade kernel-debug-livepatch-develUpgrade kernel-azure-vdsoUpgrade dtb-amlogicUpgrade kernel-syms-rtUpgrade kselftests-kmp-defaultUpgrade kernel-docsUpgrade dtb-xilinxUpgrade kernel-zfcpdumpUpgrade kernel-debugUpgrade kernel-64kb-develUpgrade gfs2-kmp-rtUpgrade dlm-kmp-defaultUpgrade cluster-md-kmp-defaultUpgrade ocfs2-kmp-rtUpgrade kernel-develUpgrade dtb-renesasUpgrade kernel-macrosUpgrade kernel-kvmsmallUpgrade dtb-mediatekUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-devel-rtUpgrade kernel-azure-livepatch-develUpgrade kernel-64kbUpgrade dtb-apmUpgrade dtb-amdUpgrade kernel-source-azureUpgrade reiserfs-kmp-azureUpgrade kernel-rt-develUpgrade dlm-kmp-azureUpgrade kernel-debug-develUpgrade kernel-64kb-optionalUpgrade dtb-armUpgrade dtb-hisiliconUpgrade kernel-default-extraUpgrade kernel-rt-livepatch-develUpgrade dtb-amazonUpgrade dtb-exynosUpgrade kernel-default-optionalUpgrade ocfs2-kmp-azureUpgrade kernel-default-develUpgrade cluster-md-kmp-rtUpgrade kernel-symsUpgrade cluster-md-kmp-azureUpgrade gfs2-kmp-64kb | Jun 24, 2024 | May 20, 2024 |
| Ubuntu | — | Upgrade linux-image-gkeUpgrade linux-image-oracleUpgrade linux-image-genericUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-intelUpgrade linux-image-virtualUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-6.8.0-1007-intelUpgrade linux-image-nvidiaUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-lowlatencyUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-kvmUpgrade linux-image-azure-fdeUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-awsUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-6.8.0-1011-awsUpgrade linux-image-ibm-classicUpgrade linux-image-gcpUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-azureUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-raspi | Jul 12, 2024 | May 20, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 22, 2025 | May 20, 2024 |
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