mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
xfs: don't leak a locked dquot when xfs_dquot_attach_buf fails
xfs_qm_quotacheck_dqadjust acquired the dquot through xfs_qm_dqget,
which means it owns a reference and holds q_qlock. Both need to
be dropped on an error exit.
Cc: <stable@vger.kernel.org> # v6.13
Fixes: ca378189fd ("xfs: convert quotacheck to attach dquot buffers")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
committed by
Carlos Maiolino
parent
0ec73eb3f1
commit
204c8f77e8
@@ -1318,7 +1318,7 @@ xfs_qm_quotacheck_dqadjust(
|
||||
|
||||
error = xfs_dquot_attach_buf(NULL, dqp);
|
||||
if (error)
|
||||
return error;
|
||||
goto out_unlock;
|
||||
|
||||
trace_xfs_dqadjust(dqp);
|
||||
|
||||
@@ -1348,8 +1348,9 @@ xfs_qm_quotacheck_dqadjust(
|
||||
}
|
||||
|
||||
dqp->q_flags |= XFS_DQFLAG_DIRTY;
|
||||
out_unlock:
|
||||
xfs_qm_dqput(dqp);
|
||||
return 0;
|
||||
return error;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user