xfs: use kvfree() in xlog_cil_free_logvec()
authorDave Chinner <dchinner@redhat.com>
Tue, 27 Feb 2024 03:01:26 +0000 (14:01 +1100)
committerChandan Babu R <chandanbabu@kernel.org>
Wed, 28 Feb 2024 08:34:45 +0000 (14:04 +0530)
The xfs_log_vec items are allocated by xlog_kvmalloc(), and so need
to be freed with kvfree. This was missed when coverting from the
kmem_free() API.

Fixes: 49292576136f ("xfs: convert kmem_free() for kvmalloc users to kvfree()")
Reported-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Tested-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
fs/xfs/xfs_log_cil.c

index 8c3b097770066c2ca71d2f7360ce848aee0fd20f..73f5b7f628f4fe67a9566a9c648fcd371fad4b05 100644 (file)
@@ -703,7 +703,7 @@ xlog_cil_free_logvec(
        while (!list_empty(lv_chain)) {
                lv = list_first_entry(lv_chain, struct xfs_log_vec, lv_list);
                list_del_init(&lv->lv_list);
-               kfree(lv);
+               kvfree(lv);
        }
 }
 
@@ -1544,7 +1544,7 @@ xlog_cil_process_intents(
                set_bit(XFS_LI_WHITEOUT, &ilip->li_flags);
                trace_xfs_cil_whiteout_mark(ilip);
                len += ilip->li_lv->lv_bytes;
-               kfree(ilip->li_lv);
+               kvfree(ilip->li_lv);
                ilip->li_lv = NULL;
 
                xfs_trans_del_item(lip);