Quotas are not enforced on the id==0 dquot, so the quota code uses it to store warning limits and timeouts. Having just dropped support for warning limits, this field no longer has any meaning. Return -EINVAL for this dquot id if the fieldmask has any of the QC_*_WARNS set. Signed-off-by: Catherine Hoang <catherine.hoang@xxxxxxxxxx> --- fs/xfs/xfs_qm_syscalls.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/xfs/xfs_qm_syscalls.c b/fs/xfs/xfs_qm_syscalls.c index e7f3ac60ebd9..bdbd5c83b08e 100644 --- a/fs/xfs/xfs_qm_syscalls.c +++ b/fs/xfs/xfs_qm_syscalls.c @@ -290,6 +290,8 @@ xfs_qm_scall_setqlim( return -EINVAL; if ((newlim->d_fieldmask & XFS_QC_MASK) == 0) return 0; + if ((newlim->d_fieldmask & QC_WARNS_MASK) && id == 0) + return -EINVAL; /* * Get the dquot (locked) before we start, as we need to do a -- 2.27.0