]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
kho: test: clean up residual memory upon test_kho module unload
authorLong Wei <longwei27@huawei.com>
Wed, 7 Jan 2026 02:24:27 +0000 (10:24 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 27 Jan 2026 03:07:13 +0000 (19:07 -0800)
During the initialization phase, the test_kho module invokes the
kho_preserve_folio function, which internally configures bitmaps within
kho_mem_track and establishes chunk linked lists in KHO.  Upon unloading
the test_kho module, it is necessary to clean up these states.

Link: https://lkml.kernel.org/r/20260107022427.4114424-1-longwei27@huawei.com
Signed-off-by: Long Wei <longwei27@huawei.com>
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Alexander Graf <graf@amazon.com>
Cc: hewenliang <hewenliang4@huawei.com>
Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
Cc: Pratyush Yadav <pratyush@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/test_kho.c

index 3431daca69689ac2a5bfb9c7baff6ae9067ced25..a20fafaf9846b56f0f46fe95ddd53f2db3151e99 100644 (file)
@@ -340,11 +340,15 @@ module_init(kho_test_init);
 
 static void kho_test_cleanup(void)
 {
+       /* unpreserve and free the data stored in folios */
+       kho_test_unpreserve_data(&kho_test_state);
        for (int i = 0; i < kho_test_state.nr_folios; i++)
                folio_put(kho_test_state.folios[i]);
 
        kvfree(kho_test_state.folios);
-       vfree(kho_test_state.folios_info);
+
+       /* Unpreserve and release the FDT folio */
+       kho_unpreserve_folio(kho_test_state.fdt);
        folio_put(kho_test_state.fdt);
 }