[XFS] Prevent xfs_bmap_check_leaf_extents() referencing unmapped memory.
commit2abdb8c88110bab78bfe17e51346e735560daa02
authorLachlan McIlroy <lachlan@sgi.com>
Thu, 27 Mar 2008 07:01:14 +0000 (27 18:01 +1100)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>
Fri, 18 Apr 2008 01:49:51 +0000 (18 11:49 +1000)
tree0fad752a8f931991f0a788d52aeaaee508c0c3ea
parent433550990e6c2e94995239bac6a52b4df454cae0
[XFS] Prevent xfs_bmap_check_leaf_extents() referencing unmapped memory.

While investigating the extent corruption bug I ran into this bug in debug
only code. xfs_bmap_check_leaf_extents() loops through the leaf blocks of
the extent btree checking that every extent is entirely before the next
extent. It also compares the last extent in the previous block to the
first extent in the current block when the previous block has been
released and potentially unmapped. So take a copy of the last extent
instead of a pointer. Also move the last extent check out of the loop
because we only need to do it once.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30718a

Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
fs/xfs/xfs_bmap.c