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-libbpf-staticUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-develUpgrade kernel-livepatch-6.1.124-134.200Upgrade kernel-modules-extra-commonUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-modules-extraUpgrade kernel-tools-develUpgrade perfUpgrade kernel-headersUpgrade kernel-develUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade python3-perfUpgrade kernel-libbpfUpgrade python3-perf-debuginfo | Jun 11, 2025 | May 20, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Jan 13, 2025 | May 20, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 20, 2024 |
| Suse | — | Upgrade kernel-default-vdsoUpgrade reiserfs-kmp-64kbUpgrade kernel-default-livepatchUpgrade dlm-kmp-rtUpgrade kernel-azure-optionalUpgrade kernel-azure-baseUpgrade kernel-obs-buildUpgrade kernel-rt_debug-develUpgrade ocfs2-kmp-64kbUpgrade kernel-defaultUpgrade reiserfs-kmp-rtUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-debug-vdsoUpgrade kselftests-kmp-azureUpgrade dtb-marvellUpgrade dtb-rockchipUpgrade gfs2-kmp-defaultUpgrade dtb-sprdUpgrade kernel-rt-extraUpgrade kernel-rt_debugUpgrade dtb-nvidiaUpgrade kernel-azure-extraUpgrade kernel-64kb-extraUpgrade kernel-default-base-rebuildUpgrade dtb-qcomUpgrade dtb-allwinnerUpgrade dtb-socionextUpgrade kernel-rtUpgrade dtb-alteraUpgrade ocfs2-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade dtb-freescaleUpgrade dtb-broadcomUpgrade gfs2-kmp-azureUpgrade dtb-caviumUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-rtUpgrade dlm-kmp-64kbUpgrade kernel-azureUpgrade kernel-azure-develUpgrade kernel-default-baseUpgrade kernel-docs-htmlUpgrade kernel-source-vanillaUpgrade kernel-default-manUpgrade kernel-kvmsmall-vdsoUpgrade dtb-lgUpgrade kselftests-kmp-64kbUpgrade cluster-md-kmp-64kbUpgrade kernel-rt-optionalUpgrade kernel-source-rtUpgrade kernel-develUpgrade dtb-amdUpgrade kernel-kvmsmall-develUpgrade kernel-devel-azureUpgrade kernel-sourceUpgrade kernel-rt_debug-vdsoUpgrade kernel-rt-livepatchUpgrade kernel-obs-qaUpgrade kernel-debug-livepatch-develUpgrade kernel-azure-vdsoUpgrade kernel-64kb-livepatch-develUpgrade kernel-syms-azureUpgrade dtb-xilinxUpgrade kernel-docsUpgrade dtb-amazonUpgrade reiserfs-kmp-defaultUpgrade dtb-amlogicUpgrade kernel-kvmsmallUpgrade ocfs2-kmp-rtUpgrade kernel-macrosUpgrade dtb-renesasUpgrade cluster-md-kmp-defaultUpgrade kselftests-kmp-defaultUpgrade kernel-zfcpdumpUpgrade kernel-debugUpgrade kernel-64kb-develUpgrade gfs2-kmp-rtUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-mediatekUpgrade kernel-debug-develUpgrade dtb-armUpgrade dlm-kmp-azureUpgrade kernel-64kb-optionalUpgrade kernel-default-optionalUpgrade dtb-exynosUpgrade kernel-symsUpgrade cluster-md-kmp-rtUpgrade kernel-default-extraUpgrade gfs2-kmp-64kbUpgrade reiserfs-kmp-azureUpgrade ocfs2-kmp-azureUpgrade kernel-rt-develUpgrade kernel-rt-livepatch-develUpgrade kernel-default-develUpgrade cluster-md-kmp-azureUpgrade dtb-hisiliconUpgrade kernel-syms-rtUpgrade dtb-apmUpgrade kernel-source-azureUpgrade kernel-devel-rtUpgrade kernel-azure-livepatch-develUpgrade kernel-64kbUpgrade dtb-appleUpgrade dlm-kmp-default | Jun 24, 2024 | May 20, 2024 |
| Ubuntu | — | Upgrade linux-image-raspiUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-azureUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1011-awsUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-gcpUpgrade linux-image-awsUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-lowlatencyUpgrade linux-image-ibmUpgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-64kUpgrade linux-image-nvidiaUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-intelUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-virtualUpgrade linux-image-lowlatency-64kUpgrade linux-image-genericUpgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1007-intelUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-6.8.0-1009-nvidia-64k | 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