Re: [syzbot] [btrfs?] memory leak in qgroup_reserve_data

From: Edward Adam Davis

Date: Thu Dec 11 2025 - 06:37:42 EST


#syz test

diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 7a501e73d880..5811f6a2da48 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1910,6 +1910,9 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
if (!only_release_metadata)
btrfs_free_reserved_data_space(inode, data_reserved,
page_start, reserved_space);
+ if (data_reserved)
+ goto out_reserve;
+
goto out_noreserve;
}

@@ -2019,6 +2022,7 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
else
btrfs_delalloc_release_space(inode, data_reserved, page_start,
reserved_space, true);
+out_reserve:
extent_changeset_free(data_reserved);
out_noreserve:
if (only_release_metadata)