diff options
| author | Filipe Manana <fdmanana@suse.com> | 2025-12-11 11:51:19 +0000 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2025-12-12 16:33:18 +0100 |
| commit | 37343524f000d2a64359867d7024a73233d3b438 (patch) | |
| tree | 55acfd6e0b81949fd17ce6bdf8b56cb995d555ab /drivers/pci/controller/pci-hyperv-intf.c | |
| parent | b57f2ddd28737db6ff0e9da8467f0ab9d707e997 (diff) | |
btrfs: fix changeset leak on mmap write after failure to reserve metadata
If the call to btrfs_delalloc_reserve_metadata() fails we jump to the
'out_noreserve' label and there we never free the extent_changeset
allocated by the previous call to btrfs_check_data_free_space() (if
qgroups are enabled). Fix this by calling extent_changeset_free() under
the 'out_noreserve' label.
Fixes: 6599716de2d6 ("btrfs: fix -ENOSPC mmap write failure on NOCOW files/extents")
Reported-by: syzbot+2f8aa76e6acc9fce6638@syzkaller.appspotmail.com
Link: https://lore.kernel.org/linux-btrfs/693a635a.a70a0220.33cd7b.0029.GAE@google.com/
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'drivers/pci/controller/pci-hyperv-intf.c')
0 files changed, 0 insertions, 0 deletions
