libxfs: readahead of dir3 data blocks should use the read verifier
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 19 Aug 2015 00:33:58 +0000 (10:33 +1000)
committerDave Chinner <david@fromorbit.com>
Wed, 19 Aug 2015 00:33:58 +0000 (10:33 +1000)
commit2f123bce18943fff819bc10f8868ffb9149fc622
treee568b49ec64c9230671833133da27405f76e111b
parentdbad7c993053d8f482a5f76270a93307537efd8e
libxfs: readahead of dir3 data blocks should use the read verifier

In the dir3 data block readahead function, use the regular read
verifier to check the block's CRC and spot-check the block contents
instead of directly calling only the spot-checking routine.  This
prevents corrupted directory data blocks from being read into the
kernel, which can lead to garbage ls output and directory loops (if
say one of the entries contains slashes and other junk).

cc: <stable@vger.kernel.org> # 3.12 - 4.2
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/libxfs/xfs_dir2_data.c