diff options
author | Darrick J. Wong <djwong@kernel.org> | 2022-11-06 17:03:15 -0800 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2022-11-16 15:25:02 -0800 |
commit | fcd2a43488d5a211aec94e28369b2a72c28258a2 (patch) | |
tree | 4bbde39a12fd499f9e545360ff16ee8ec946b279 /fs/xfs | |
parent | 48ff40458f871fb19e7b1b40e0e5084b8751d9cb (diff) | |
download | linux-fcd2a43488d5a211aec94e28369b2a72c28258a2.tar.gz linux-fcd2a43488d5a211aec94e28369b2a72c28258a2.tar.bz2 linux-fcd2a43488d5a211aec94e28369b2a72c28258a2.zip |
xfs: initialize the check_owner object fully
Initialize the check_owner list head so that we don't corrupt the list.
Reduce the scope of the object pointer.
Fixes: 858333dcf021 ("xfs: check btree block ownership with bnobt/rmapbt when scrubbing btree")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/scrub/btree.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/xfs/scrub/btree.c b/fs/xfs/scrub/btree.c index 2f4519590dc1..075ff3071122 100644 --- a/fs/xfs/scrub/btree.c +++ b/fs/xfs/scrub/btree.c @@ -408,7 +408,6 @@ xchk_btree_check_owner( struct xfs_buf *bp) { struct xfs_btree_cur *cur = bs->cur; - struct check_owner *co; /* * In theory, xfs_btree_get_block should only give us a null buffer @@ -431,10 +430,14 @@ xchk_btree_check_owner( * later scanning. */ if (cur->bc_btnum == XFS_BTNUM_BNO || cur->bc_btnum == XFS_BTNUM_RMAP) { + struct check_owner *co; + co = kmem_alloc(sizeof(struct check_owner), KM_MAYFAIL); if (!co) return -ENOMEM; + + INIT_LIST_HEAD(&co->list); co->level = level; co->daddr = xfs_buf_daddr(bp); list_add_tail(&co->list, &bs->to_check); |