mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 13:14:02 +02:00
xfs: release orphanage dir inode if chown fails
LOLLM points out that we leak the igrab'd reference to the orphanage
directory inode if chowning it fails. Fix that.
Cc: stable@vger.kernel.org # v6.10
Fixes: 1e58a8ccf2 ("xfs: move orphan files to the orphanage")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Assisted-by: LOLLM # finding obvious bugs
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
parent
bb991b7f79
commit
1c32cdc986
|
|
@ -192,12 +192,16 @@ xrep_orphanage_create(
|
|||
/* Make sure the orphanage is owned by root. */
|
||||
error = xrep_chown_orphanage(sc, XFS_I(orphanage_inode));
|
||||
if (error)
|
||||
goto out_dput_orphanage;
|
||||
goto out_rele_orphanage;
|
||||
|
||||
/* Stash the reference for later and bail out. */
|
||||
sc->orphanage = XFS_I(orphanage_inode);
|
||||
sc->orphanage_ilock_flags = 0;
|
||||
orphanage_inode = NULL;
|
||||
|
||||
out_rele_orphanage:
|
||||
if (orphanage_inode)
|
||||
xchk_irele(sc, XFS_I(orphanage_inode));
|
||||
out_dput_orphanage:
|
||||
end_creating(orphanage_dentry);
|
||||
out_dput_root:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user