[PATCH] kho: test: clean up residual memory upon test_kho module unload

l00580197 posted 1 patch 1 month ago
lib/test_kho.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
[PATCH] kho: test: clean up residual memory upon test_kho module unload
Posted by l00580197 1 month ago
From: Long Wei <longwei27@huawei.com>

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.

Signed-off-by: Long Wei <longwei27@huawei.com>
---
 lib/test_kho.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/test_kho.c b/lib/test_kho.c
index 47de56280795..69230da5a056 100644
--- a/lib/test_kho.c
+++ b/lib/test_kho.c
@@ -339,11 +339,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);
 }
 
-- 
2.43.0
Re: [PATCH] kho: test: clean up residual memory upon test_kho module unload
Posted by Pratyush Yadav 3 weeks ago
On Wed, Jan 07 2026, l00580197 wrote:

> From: Long Wei <longwei27@huawei.com>
>
> 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.
>
> Signed-off-by: Long Wei <longwei27@huawei.com>

Reviewed-by: Pratyush Yadav <pratyush@kernel.org>

[...]

-- 
Regards,
Pratyush Yadav
Re: [PATCH] kho: test: clean up residual memory upon test_kho module unload
Posted by Mike Rapoport 1 month ago
On Wed, Jan 07, 2026 at 10:24:27AM +0800, l00580197 wrote:
> From: Long Wei <longwei27@huawei.com>
> 
> 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.
> 
> Signed-off-by: Long Wei <longwei27@huawei.com>

Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

> ---
>  lib/test_kho.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/test_kho.c b/lib/test_kho.c
> index 47de56280795..69230da5a056 100644
> --- a/lib/test_kho.c
> +++ b/lib/test_kho.c
> @@ -339,11 +339,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);
>  }
>  
> -- 
> 2.43.0
> 

-- 
Sincerely yours,
Mike.