aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/xfs_inode_fork.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c
index 2b60a5a2ae53..02f1083955bb 100644
--- a/fs/xfs/xfs_inode_fork.c
+++ b/fs/xfs/xfs_inode_fork.c
@@ -167,7 +167,8 @@ xfs_iformat_fork(
167 } 167 }
168 168
169 di_size = be64_to_cpu(dip->di_size); 169 di_size = be64_to_cpu(dip->di_size);
170 if (unlikely(di_size > XFS_DFORK_DSIZE(dip, ip->i_mount))) { 170 if (unlikely(di_size < 0 ||
171 di_size > XFS_DFORK_DSIZE(dip, ip->i_mount))) {
171 xfs_warn(ip->i_mount, 172 xfs_warn(ip->i_mount,
172 "corrupt inode %Lu (bad size %Ld for local inode).", 173 "corrupt inode %Lu (bad size %Ld for local inode).",
173 (unsigned long long) ip->i_ino, 174 (unsigned long long) ip->i_ino,