Re: [PATCH 2/2] x86/modules: Make x86 allocs to flush when free

From: Andrew Morton
Date: Wed Nov 28 2018 - 18:11:51 EST


On Tue, 27 Nov 2018 16:07:54 -0800 Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx> wrote:

> Change the module allocations to flush before freeing the pages.
>
> ...
>
> --- a/arch/x86/kernel/module.c
> +++ b/arch/x86/kernel/module.c
> @@ -87,8 +87,8 @@ void *module_alloc(unsigned long size)
> p = __vmalloc_node_range(size, MODULE_ALIGN,
> MODULES_VADDR + get_module_load_offset(),
> MODULES_END, GFP_KERNEL,
> - PAGE_KERNEL_EXEC, 0, NUMA_NO_NODE,
> - __builtin_return_address(0));
> + PAGE_KERNEL_EXEC, VM_IMMEDIATE_UNMAP,
> + NUMA_NO_NODE, __builtin_return_address(0));
> if (p && (kasan_module_alloc(p, size) < 0)) {
> vfree(p);
> return NULL;

Should any other architectures do this?