diff options
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/xfs_export.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/xfs/xfs_export.c b/fs/xfs/xfs_export.c index 42679223a0fd..8c6d1d70278c 100644 --- a/fs/xfs/xfs_export.c +++ b/fs/xfs/xfs_export.c | |||
@@ -189,6 +189,9 @@ xfs_fs_fh_to_parent(struct super_block *sb, struct fid *fid, | |||
189 | struct xfs_fid64 *fid64 = (struct xfs_fid64 *)fid; | 189 | struct xfs_fid64 *fid64 = (struct xfs_fid64 *)fid; |
190 | struct inode *inode = NULL; | 190 | struct inode *inode = NULL; |
191 | 191 | ||
192 | if (fh_len < xfs_fileid_length(fileid_type)) | ||
193 | return NULL; | ||
194 | |||
192 | switch (fileid_type) { | 195 | switch (fileid_type) { |
193 | case FILEID_INO32_GEN_PARENT: | 196 | case FILEID_INO32_GEN_PARENT: |
194 | inode = xfs_nfs_get_inode(sb, fid->i32.parent_ino, | 197 | inode = xfs_nfs_get_inode(sb, fid->i32.parent_ino, |