]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
xfs: fix xfs_group release bug in xfs_verify_report_losses
authorDarrick J. Wong <djwong@kernel.org>
Wed, 18 Feb 2026 23:25:35 +0000 (15:25 -0800)
committerCarlos Maiolino <cem@kernel.org>
Wed, 25 Feb 2026 12:58:48 +0000 (13:58 +0100)
Chris Mason reports that his AI tools noticed that we were using
xfs_perag_put and xfs_group_put to release the group reference returned
by xfs_group_next_range.  However, the iterator function returns an
object with an active refcount, which means that we must use the correct
function to release the active refcount, which is _rele.

Fixes: b8accfd65d31f2 ("xfs: add media verification ioctl")
Reported-by: Chris Mason <clm@meta.com>
Link: https://lore.kernel.org/linux-xfs/20260206030527.2506821-1-clm@meta.com/
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_verify_media.c

index 069cd371619dc2ad8bf7048a52368f7af2f70a95..8bbd4ec567f8a1dafceb9a312fc760b73d9b7312 100644 (file)
@@ -122,7 +122,7 @@ xfs_verify_report_losses(
 
                        error = xfs_alloc_read_agf(pag, tp, 0, &agf_bp);
                        if (error) {
-                               xfs_perag_put(pag);
+                               xfs_perag_rele(pag);
                                break;
                        }
 
@@ -158,7 +158,7 @@ xfs_verify_report_losses(
                if (rtg)
                        xfs_rtgroup_unlock(rtg, XFS_RTGLOCK_RMAP);
                if (error) {
-                       xfs_group_put(xg);
+                       xfs_group_rele(xg);
                        break;
                }
        }