Skip to contentSkip to conversation

Patch "libxfs: readahead of dir3 data blocks should use the read verifier" has been added to the 4.2-stable tree

PATCH [email protected] 1 participant 1 message Sep 16, 2015

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

libxfs: readahead of dir3 data blocks should use the read verifier

to the 4.2-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
libxfs-readahead-of-dir3-data-blocks-should-use-the-read-verifier.patch
and it can be found in the queue-4.2 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 2f123bce18943fff819bc10f8868ffb9149fc622 Mon Sep 17 00:00:00 2001

From: "Darrick J. Wong" <[email protected]>
Date: Wed, 19 Aug 2015 10:33:58 +1000
Subject: libxfs: readahead of dir3 data blocks should use the read verifier

From: "Darrick J. Wong" <[email protected]>

commit 2f123bce18943fff819bc10f8868ffb9149fc622 upstream.

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).

---
 fs/xfs/libxfs/xfs_dir2_data.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
fs/xfs/libxfs/xfs_dir2_data.c +2 -1
@@ -252,7 +252,8 @@ xfs_dir3_data_reada_verify(
 		return;
 	case cpu_to_be32(XFS_DIR2_DATA_MAGIC):
 	case cpu_to_be32(XFS_DIR3_DATA_MAGIC):
-		xfs_dir3_data_verify(bp);
+		bp->b_ops = &xfs_dir3_data_buf_ops;
+		bp->b_ops->verify_read(bp);
 		return;
 	default:
 		xfs_buf_ioerror(bp, -EFSCORRUPTED);

Patches currently in stable-queue which might be from [email protected] are

queue-4.2/libxfs-readahead-of-dir3-data-blocks-should-use-the-read-verifier.patch