]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xfs: Add the missed xfs_perag_put() for xfs_ifree_cluster()
authorChuhong Yuan <hslester96@gmail.com>
Mon, 7 Nov 2022 04:03:27 +0000 (09:33 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2022 16:57:54 +0000 (17:57 +0100)
commit 8cc0072469723459dc6bd7beff81b2b3149f4cf4 upstream.

xfs_ifree_cluster() calls xfs_perag_get() at the beginning, but forgets to
call xfs_perag_put() in one failed path.
Add the missed function call to fix it.

Fixes: ce92464c180b ("xfs: make xfs_trans_get_buf return an error code")
Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandan.babu@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/xfs/xfs_inode.c

index f8b5a37134f8f6203916f880974a8c0c4ef7d559..e5a90a0b8f8a2e8989970b8095aa75ab835a6564 100644 (file)
@@ -2592,8 +2592,10 @@ xfs_ifree_cluster(
                                        mp->m_bsize * igeo->blocks_per_cluster,
                                        XBF_UNMAPPED);
 
-               if (!bp)
+               if (!bp) {
+                       xfs_perag_put(pag);
                        return -ENOMEM;
+               }
 
                /*
                 * This buffer may not have been correctly initialised as we