diff options
| author | Darrick J. Wong <djwong@kernel.org> | 2026-09-22 23:02:02 -0700 |
|---|---|---|
| committer | Carlos Maiolino <cem@kernel.org> | 2026-10-05 12:05:29 +0200 |
| commit | 65b89ac3e8c2f041384f715a71b9d113edfa32e5 (patch) | |
| tree | 6ba9241e3790649a702c20396c7f9ae1933533d3 /tools/perf/scripts/python | |
| parent | faa9aa9e846332aaad78096a2cebfeafe68a7776 (diff) | |
xfs: fix inode btree repair when a cluster is larger than a chunk
LOLLM noticed that on filesystems where an inode cluster buffer is
larger than an inode chunk, we can run through the loop body in
xrep_ibt_process_cluster more than once, and the number of inodes that
we pass to xrep_ibt_cluster_record is incorrectly large. In this case
we can run right off the end of the buffer. Fix this by moving the
nr_inodes computation inside the loop.
Note that this is only likely to happen on filesystems with (say) 512b
inodes and 64k fsblocks.
Cc: stable@vger.kernel.org # v6.8
Fixes: dbfbf3bdf639a2 ("xfs: repair inode btrees")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Assisted-by: LOLLM # finding obvious bugs
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
