]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xfs: fix xfs_btree_query_range callers to initialize btree rec fully
authorDarrick J. Wong <djwong@kernel.org>
Wed, 11 Jun 2025 21:01:11 +0000 (14:01 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jun 2025 10:07:19 +0000 (11:07 +0100)
[ Upstream commit 75dc0345312221971903b2e28279b7e24b7dbb1b ]

Use struct initializers to ensure that the xfs_btree_irecs passed into
the query_range function are completely initialized.  No functional
changes, just closing some sloppy hygiene.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/xfs/libxfs/xfs_alloc.c
fs/xfs/libxfs/xfs_refcount.c
fs/xfs/libxfs/xfs_rmap.c

index c08265f19136898a4287c5204d5603eacac36727..cd5b197d70464e94c0e376dab0bbadb9639d8787 100644 (file)
@@ -3545,15 +3545,11 @@ xfs_alloc_query_range(
        xfs_alloc_query_range_fn                fn,
        void                                    *priv)
 {
-       union xfs_btree_irec                    low_brec;
-       union xfs_btree_irec                    high_brec;
-       struct xfs_alloc_query_range_info       query;
+       union xfs_btree_irec                    low_brec = { .a = *low_rec };
+       union xfs_btree_irec                    high_brec = { .a = *high_rec };
+       struct xfs_alloc_query_range_info       query = { .priv = priv, .fn = fn };
 
        ASSERT(cur->bc_btnum == XFS_BTNUM_BNO);
-       low_brec.a = *low_rec;
-       high_brec.a = *high_rec;
-       query.priv = priv;
-       query.fn = fn;
        return xfs_btree_query_range(cur, &low_brec, &high_brec,
                        xfs_alloc_query_range_helper, &query);
 }
index 4ec7a81dd3eff682c7330939dbcaaebb8a8fa1a0..7e16e76fd2e1838c19695891cccb36bfb663b51b 100644 (file)
@@ -1903,8 +1903,13 @@ xfs_refcount_recover_cow_leftovers(
        struct xfs_buf                  *agbp;
        struct xfs_refcount_recovery    *rr, *n;
        struct list_head                debris;
-       union xfs_btree_irec            low;
-       union xfs_btree_irec            high;
+       union xfs_btree_irec            low = {
+               .rc.rc_domain           = XFS_REFC_DOMAIN_COW,
+       };
+       union xfs_btree_irec            high = {
+               .rc.rc_domain           = XFS_REFC_DOMAIN_COW,
+               .rc.rc_startblock       = -1U,
+       };
        xfs_fsblock_t                   fsb;
        int                             error;
 
@@ -1935,10 +1940,6 @@ xfs_refcount_recover_cow_leftovers(
        cur = xfs_refcountbt_init_cursor(mp, tp, agbp, pag);
 
        /* Find all the leftover CoW staging extents. */
-       memset(&low, 0, sizeof(low));
-       memset(&high, 0, sizeof(high));
-       low.rc.rc_domain = high.rc.rc_domain = XFS_REFC_DOMAIN_COW;
-       high.rc.rc_startblock = -1U;
        error = xfs_btree_query_range(cur, &low, &high,
                        xfs_refcount_recover_extent, &debris);
        xfs_btree_del_cursor(cur, error);
index b56aca1e7c66c35de72ff8230f1728ec6d947b2a..95d3599561cead0c6627a70b292ac6917b4e4d63 100644 (file)
@@ -2337,14 +2337,10 @@ xfs_rmap_query_range(
        xfs_rmap_query_range_fn                 fn,
        void                                    *priv)
 {
-       union xfs_btree_irec                    low_brec;
-       union xfs_btree_irec                    high_brec;
-       struct xfs_rmap_query_range_info        query;
+       union xfs_btree_irec                    low_brec = { .r = *low_rec };
+       union xfs_btree_irec                    high_brec = { .r = *high_rec };
+       struct xfs_rmap_query_range_info        query = { .priv = priv, .fn = fn };
 
-       low_brec.r = *low_rec;
-       high_brec.r = *high_rec;
-       query.priv = priv;
-       query.fn = fn;
        return xfs_btree_query_range(cur, &low_brec, &high_brec,
                        xfs_rmap_query_range_helper, &query);
 }