[GIT PULL] vfs: standardize parameter checking for SETFLAGS/FSSETXATTR ioctls

Darrick J. Wong
2019-07-11T14:18:30Z

Hi Linus,

Here's a patch series that sets up common parameter checking functions
for the FS_IOC_SETFLAGS and FS_IOC_FSSETXATTR ioctl implementations.
The goal here is to reduce the amount of behaviorial variance between
the filesystems where those ioctls originated (ext2 and XFS,
respectively) and everybody else.

The branch merges cleanly against this morning's HEAD and survived an
overnight run of xfstests. The merge was completely straightforward, so
please let me know if you run into anything weird.

--D

The following changes since commit d1fdb6d8f6a4109a4263176c84b899076a5f8008:

Linux 5.2-rc4 (2019-06-08 20:24:46 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/vfs-fix-ioctl-checking-3

for you to fetch changes up to dbc77f31e58b2902a5e7643761c04bf69f57a32a:

vfs: only allow FSSETXATTR to set DAX flag on files and dirs (2019-07-01 08:25:36 -0700)

----------------------------------------------------------------
New for 5.3:
- Standardize parameter checking for the SETFLAGS and FSSETXATTR ioctls
(which were the file attribute setters for ext4 and xfs and have now
been hoisted to the vfs)
- Only allow the DAX flag to be set on files and directories.

----------------------------------------------------------------
Darrick J. Wong (5):
vfs: create a generic checking and prep function for FS_IOC_SETFLAGS
vfs: create a generic checking function for FS_IOC_FSSETXATTR
vfs: teach vfs_ioc_fssetxattr_check to check project id info
vfs: teach vfs_ioc_fssetxattr_check to check extent size hints
vfs: only allow FSSETXATTR to set DAX flag on files and dirs

fs/btrfs/ioctl.c | 30 ++++------
fs/efivarfs/file.c | 26 ++++++---
fs/ext2/ioctl.c | 16 ++----
fs/ext4/ioctl.c | 51 +++++------------
fs/gfs2/file.c | 42 +++++++++-----
fs/hfsplus/ioctl.c | 21 ++++---
fs/inode.c | 86 +++++++++++++++++++++++++++++
fs/jfs/ioctl.c | 22 +++-----
fs/nilfs2/ioctl.c | 9 +--
fs/ocfs2/ioctl.c | 13 +----
fs/orangefs/file.c | 37 ++++++++++---
fs/reiserfs/ioctl.c | 10 ++--
fs/ubifs/ioctl.c | 13 +----
fs/xfs/xfs_ioctl.c | 154 +++++++++++++++++++++++-----------------------------
include/linux/fs.h | 12 ++++
15 files changed, 300 insertions(+), 242 deletions(-)