On Sat, Sep 26, 2020 at 09:14:30PM +0800, xiakaixu1987@xxxxxxxxx wrote: > From: Kaixu Xia <kaixuxia@xxxxxxxxxxx> > > If we pass in XFS_QMOPT_{U,G,P}QUOTA flags and different uid/gid/prid > than them currently associated with the inode, the arguments > O_{u,g,p}dqpp shouldn't be NULL, so add the ASSERT for them. > > Signed-off-by: Kaixu Xia <kaixuxia@xxxxxxxxxxx> Ok, seems fine to me... Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > fs/xfs/xfs_qm.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c > index 44509decb4cd..b2a9abee8b2b 100644 > --- a/fs/xfs/xfs_qm.c > +++ b/fs/xfs/xfs_qm.c > @@ -1662,6 +1662,7 @@ xfs_qm_vop_dqalloc( > } > > if ((flags & XFS_QMOPT_UQUOTA) && XFS_IS_UQUOTA_ON(mp)) { > + ASSERT(O_udqpp); > if (!uid_eq(inode->i_uid, uid)) { > /* > * What we need is the dquot that has this uid, and > @@ -1695,6 +1696,7 @@ xfs_qm_vop_dqalloc( > } > } > if ((flags & XFS_QMOPT_GQUOTA) && XFS_IS_GQUOTA_ON(mp)) { > + ASSERT(O_gdqpp); > if (!gid_eq(inode->i_gid, gid)) { > xfs_iunlock(ip, lockflags); > error = xfs_qm_dqget(mp, from_kgid(user_ns, gid), > @@ -1712,6 +1714,7 @@ xfs_qm_vop_dqalloc( > } > } > if ((flags & XFS_QMOPT_PQUOTA) && XFS_IS_PQUOTA_ON(mp)) { > + ASSERT(O_pdqpp); > if (ip->i_d.di_projid != prid) { > xfs_iunlock(ip, lockflags); > error = xfs_qm_dqget(mp, prid, > -- > 2.20.0 >