The vmap_init_free_space() function is called only once therefore tag it with __init. Apart of that it access the "vmlist" variable that is located in ".init.data" section. Reported-by: kernel test robot <lkp@xxxxxxxxx> Closes: https://lore.kernel.org/oe-kbuild-all/202401112056.I41bELL4-lkp@xxxxxxxxx/ Fixes: 86817057732 ("mm: vmalloc: remove global vmap_area_root rb-tree") Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx> --- mm/vmalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 43a6608e1397..257981e37936 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -4834,7 +4834,7 @@ module_init(proc_vmalloc_init); #endif -static void vmap_init_free_space(void) +static void __init vmap_init_free_space(void) { unsigned long vmap_start = 1; const unsigned long vmap_end = ULONG_MAX; -- 2.39.2