diff options
| author | Qu Wenruo <wqu@suse.com> | 2026-10-01 14:46:17 +0930 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2026-10-12 19:16:24 +0200 |
| commit | 727bb633fea9a3b37061b837c85647218dc28485 (patch) | |
| tree | e863314228d49d19d48e4f6f2f07c09bb3b79cab /tools/perf/scripts/python | |
| parent | 65583d4749af1bede388425b5ab70cb6cbb68125 (diff) | |
| download | linux-727bb633fea9a3b37061b837c85647218dc28485.tar.gz linux-727bb633fea9a3b37061b837c85647218dc28485.zip | |
btrfs: qgroup: do not leak -ENOENT from btrfs_remove_qgroup()
If btrfs_remove_qgroup() is called on a qgroup that only exists in the
rb-tree, then del_qgroup_item() will return -ENOENT, and we tolerate
that -ENOENT.
However if the to-be-deleted qgroup has no parent qgroups, the @ret will
not be updated, and will leak to user space.
It will make the ioctl() caller incorrectly assume the operation failed.
Fix it by resetting @ret to 0 after a successful or tolerated
del_qgroup_item() call, so the -ENOENT from del_qgroup_item() won't be
leaked.
Assisted-by: LLM (exposing this pre-existing problem)
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
