|
Message-ID: <c4d6ce8af83ab9f92e76f36bce7ffa5574f7104b.camel@intel.com> Date: Thu, 29 Nov 2018 00:02:15 +0000 From: "Edgecombe, Rick P" <rick.p.edgecombe@...el.com> To: "akpm@...ux-foundation.org" <akpm@...ux-foundation.org> CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "daniel@...earbox.net" <daniel@...earbox.net>, "jeyu@...nel.org" <jeyu@...nel.org>, "rostedt@...dmis.org" <rostedt@...dmis.org>, "ast@...nel.org" <ast@...nel.org>, "ard.biesheuvel@...aro.org" <ard.biesheuvel@...aro.org>, "linux-mm@...ck.org" <linux-mm@...ck.org>, "jannh@...gle.com" <jannh@...gle.com>, "Dock, Deneen T" <deneen.t.dock@...el.com>, "kristen@...ux.intel.com" <kristen@...ux.intel.com>, "will.deacon@....com" <will.deacon@....com>, "mingo@...hat.com" <mingo@...hat.com>, "luto@...nel.org" <luto@...nel.org>, "Keshavamurthy, Anil S" <anil.s.keshavamurthy@...el.com>, "kernel-hardening@...ts.openwall.com" <kernel-hardening@...ts.openwall.com>, "mhiramat@...nel.org" <mhiramat@...nel.org>, "naveen.n.rao@...ux.vnet.ibm.com" <naveen.n.rao@...ux.vnet.ibm.com>, "davem@...emloft.net" <davem@...emloft.net>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "Hansen, Dave" <dave.hansen@...el.com> Subject: Re: [PATCH 2/2] x86/modules: Make x86 allocs to flush when free On Wed, 2018-11-28 at 15:11 -0800, Andrew Morton wrote: > On Tue, 27 Nov 2018 16:07:54 -0800 Rick Edgecombe <rick.p.edgecombe@...el.com> > 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? I would think everything that has something like an NX bit and doesn't use the default module_alloc implementation. I could add the flag for every arch that defines PAGE_KERNEL_EXEC, but I don't have a good way to test on all of those architectures. Thanks, Rick
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.