mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 14:43:16 +00:00
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>
This commit is contained in:
parent
48ff40458f
commit
fcd2a43488
@ -408,7 +408,6 @@ xchk_btree_check_owner(
|
|||||||
struct xfs_buf *bp)
|
struct xfs_buf *bp)
|
||||||
{
|
{
|
||||||
struct xfs_btree_cur *cur = bs->cur;
|
struct xfs_btree_cur *cur = bs->cur;
|
||||||
struct check_owner *co;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* In theory, xfs_btree_get_block should only give us a null buffer
|
* In theory, xfs_btree_get_block should only give us a null buffer
|
||||||
@ -431,10 +430,14 @@ xchk_btree_check_owner(
|
|||||||
* later scanning.
|
* later scanning.
|
||||||
*/
|
*/
|
||||||
if (cur->bc_btnum == XFS_BTNUM_BNO || cur->bc_btnum == XFS_BTNUM_RMAP) {
|
if (cur->bc_btnum == XFS_BTNUM_BNO || cur->bc_btnum == XFS_BTNUM_RMAP) {
|
||||||
|
struct check_owner *co;
|
||||||
|
|
||||||
co = kmem_alloc(sizeof(struct check_owner),
|
co = kmem_alloc(sizeof(struct check_owner),
|
||||||
KM_MAYFAIL);
|
KM_MAYFAIL);
|
||||||
if (!co)
|
if (!co)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
INIT_LIST_HEAD(&co->list);
|
||||||
co->level = level;
|
co->level = level;
|
||||||
co->daddr = xfs_buf_daddr(bp);
|
co->daddr = xfs_buf_daddr(bp);
|
||||||
list_add_tail(&co->list, &bs->to_check);
|
list_add_tail(&co->list, &bs->to_check);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user