diff options
| author | ZhengYuan Huang <gality369@gmail.com> | 2026-03-11 08:26:10 +1030 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2026-04-07 18:56:02 +0200 |
| commit | 94e445085c7be52c1cc937959fa8254b56cdf672 (patch) | |
| tree | 0b9a69bf90e5d031976a6a31f524a30e980ec9bd /tools/perf/scripts/python/task-analyzer.py | |
| parent | b4a1246298d9c0a7cbcbc05d437c5803eb6a9994 (diff) | |
btrfs: tree-checker: introduce checks for FREE_SPACE_BITMAP
Introduce checks for FREE_SPACE_BITMAP item, which include:
- Key alignment check
Same as FREE_SPACE_EXTENT, the objectid is the logical bytenr of the
free space, and offset is the length of the free space, so both
should be aligned to the fs block size.
- Non-zero range check
A zero key->offset would describe an empty bitmap, which is invalid.
- Item size check
The item must hold exactly DIV_ROUND_UP(key->offset >> sectorsize_bits,
BITS_PER_BYTE) bytes. A mismatch indicates a truncated or otherwise
corrupt bitmap item; without this check, the bitmap loading path would
walk past the end of the leaf and trigger a NULL dereference in
assert_eb_folio_uptodate().
Signed-off-by: ZhengYuan Huang <gality369@gmail.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions
