On Wed, Oct 23, 2019 at 12:37:19PM +0200, Jan Kara wrote: > Flags passed to Q_XQUOTARM were not sanity checked for invalid values. > Fix that. > > Fixes: 9da93f9b7cdf ("xfs: fix Q_XQUOTARM ioctl") > Reported-by: Yang Xu <xuyang2018.jy@xxxxxxxxxxxxxx> > Signed-off-by: Jan Kara <jack@xxxxxxx> Looks ok, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > fs/xfs/xfs_quotaops.c | 3 +++ > 1 file changed, 3 insertions(+) > > Strictly speaking this may cause user visible regression > (invalid flags are no longer getting ignored) but in this particular > case I think we could get away with it. > > > diff --git a/fs/xfs/xfs_quotaops.c b/fs/xfs/xfs_quotaops.c > index cd6c7210a373..c7de17deeae6 100644 > --- a/fs/xfs/xfs_quotaops.c > +++ b/fs/xfs/xfs_quotaops.c > @@ -201,6 +201,9 @@ xfs_fs_rm_xquota( > if (XFS_IS_QUOTA_ON(mp)) > return -EINVAL; > > + if (uflags & ~(FS_USER_QUOTA | FS_GROUP_QUOTA | FS_PROJ_QUOTA)) > + return -EINVAL; > + > if (uflags & FS_USER_QUOTA) > flags |= XFS_DQ_USER; > if (uflags & FS_GROUP_QUOTA) > -- > 2.16.4 >