mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
btrfs: qgroup: fix off-by-one max level check in qgroup_trace_new_subtree_blocks()
We have maximum of 8 (BTRFS_MAX_LEVEL) levels in a btree, going from 0 to 7, so the upper bound checks should be: >= BTRFS_MAX_LEVEL and not: >= BTRFS_MAX_LEVEL - 1 In practice this will hardly ever be a problem since having a btree with 8 levels would imply a massively huge fs. 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>
This commit is contained in:
parent
599fdbf3e3
commit
9685445df7
|
|
@ -2491,8 +2491,8 @@ static int qgroup_trace_new_subtree_blocks(struct btrfs_trans_handle* trans,
|
|||
int i;
|
||||
|
||||
/* Level sanity check */
|
||||
if (unlikely(cur_level < 0 || cur_level >= BTRFS_MAX_LEVEL - 1 ||
|
||||
root_level < 0 || root_level >= BTRFS_MAX_LEVEL - 1 ||
|
||||
if (unlikely(cur_level < 0 || cur_level >= BTRFS_MAX_LEVEL ||
|
||||
root_level < 0 || root_level >= BTRFS_MAX_LEVEL ||
|
||||
root_level < cur_level)) {
|
||||
btrfs_err_rl(fs_info,
|
||||
"%s: bad levels, cur_level=%d root_level=%d",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user