On Fri, 2023-06-16 at 11:50 +0300, Mike Rapoport wrote: > void *module_alloc(unsigned long size) > { > - if (size == 0) > - return NULL; > - return kmalloc(size, GFP_KERNEL); > -} > - > -/* Free memory returned from module_alloc */ > -void module_memfree(void *module_region) > -{ > - kfree(module_region); > + return __vmalloc_node_range(size, 1, MODULES_VADDR, > MODULES_END, > + GFP_KERNEL, PAGE_KERNEL_EXEC, > + VM_FLUSH_RESET_PERMS, > NUMA_NO_NODE, > + __builtin_return_address(0)); > } > > int apply_relocate_add(Elf32_Shdr *sechdrs, const char *s I wonder if the (size == 0) check is really needed, but __vmalloc_node_range() will WARN on this case where the old code won't.