summaryrefslogtreecommitdiff
path: root/fs/xfs/libxfs/xfs_inode_buf.c
diff options
context:
space:
mode:
authorAmir Goldstein <amir73il@gmail.com>2017-01-17 22:41:44 +0300
committerDarrick J. Wong <darrick.wong@oracle.com>2017-01-17 22:42:22 +0300
commitfab8eef86c814c3dd46bc5d760b6e4a53d5fc5a6 (patch)
treed34fab3b0f9f5793aa599e8f7a63399fadbbc129 /fs/xfs/libxfs/xfs_inode_buf.c
parent1fc4d33fed124fb182e8e6c214e973a29389ae83 (diff)
downloadlinux-fab8eef86c814c3dd46bc5d760b6e4a53d5fc5a6.tar.xz
xfs: sanity check inode mode when creating new dentry
The helper xfs_dentry_to_name() is used by 2 different classes of callers: Callers that pass zero mode and don't care about the returned name.type field and Callers that pass non zero mode and do care about the name.type field. Change xfs_dentry_to_name() to not take the mode argument and change the call sites of the first class to not pass the mode argument. Create a new helper xfs_dentry_mode_to_name() which does pass the mode argument and returns -EFSCORRUPTED if mode is invalid. Callers that translate non zero mode to on-disk file type now check the return value and will export the error to user instead of staging an invalid file type to be written to directory entry. Signed-off-by: Amir Goldstein <amir73il@gmail.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/xfs/libxfs/xfs_inode_buf.c')
0 files changed, 0 insertions, 0 deletions