mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 04:34:03 +02:00
xfs: don't walk off the end of a null sc->sa.agi_bp in AGI repair
LOLLM noticed a longstanding bug where xrep_iunlink_walk_ondisk_bucket
tries to walk ragi->sc->sa.agi_bp to rebuild the unlinked inode lists.
Unfortunately, it's possible for agi_bp to be null if the buffer
verifier fails, so we have to use ragi->agi_bp (which skips verifier
checks) instead.
Cc: stable@vger.kernel.org # v6.10
Fixes: ab97f4b1c0 ("xfs: repair AGI unlinked inode bucket lists")
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>
This commit is contained in:
parent
527eaaefdd
commit
1e96a00e0d
|
|
@ -1082,7 +1082,7 @@ xrep_iunlink_walk_ondisk_bucket(
|
|||
{
|
||||
struct xagino_bitmap seen;
|
||||
struct xfs_scrub *sc = ragi->sc;
|
||||
struct xfs_agi *agi = sc->sa.agi_bp->b_addr;
|
||||
struct xfs_agi *agi = ragi->agi_bp->b_addr;
|
||||
xfs_agino_t prev_agino = NULLAGINO;
|
||||
xfs_agino_t next_agino;
|
||||
int error = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user