summaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2015-08-28 14:50:03 +1000
committerDave Chinner <david@fromorbit.com>2015-08-28 14:50:03 +1000
commitdfdd4ac66c2f921ecec730a2b24b0b13e10346b2 (patch)
treed47750791dc9dc801f795153bd149756eaa5a044 /fs/xfs
parentbc0195aad0daa2ad5b0d76cce22b167bc3435590 (diff)
downloadlinux-stable-dfdd4ac66c2f921ecec730a2b24b0b13e10346b2.tar.gz
linux-stable-dfdd4ac66c2f921ecec730a2b24b0b13e10346b2.tar.bz2
linux-stable-dfdd4ac66c2f921ecec730a2b24b0b13e10346b2.zip
libxfs: bad magic number should set da block buffer error
If xfs_da3_node_read_verify() doesn't recognize the magic number of a buffer it's just read, set the buffer error to -EFSCORRUPTED so that the error can be sent up to userspace. Without this patch we'll notice the bad magic eventually while trying to traverse or change the block, but we really ought to fail early in the verifier. 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>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/libxfs/xfs_da_btree.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_da_btree.c b/fs/xfs/libxfs/xfs_da_btree.c
index 2385f8cd08ab..8951e34ab76a 100644
--- a/fs/xfs/libxfs/xfs_da_btree.c
+++ b/fs/xfs/libxfs/xfs_da_btree.c
@@ -233,6 +233,7 @@ xfs_da3_node_read_verify(
bp->b_ops->verify_read(bp);
return;
default:
+ xfs_buf_ioerror(bp, -EFSCORRUPTED);
break;
}