Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [PATCH v5] RO/NX protection for loadable kernel modules | Date | Sun, 12 Jul 2009 14:10:39 +0930 |
| |
On Sun, 12 Jul 2009 01:19:58 am Arjan van de Ven wrote: > Rusty Russell <rusty@rustcorp.com.au> wrote: > > I have a question about this patch though: I think it's unsafe in > > general to mark the last partial page as NX (we asked for executable > > pages, this could remove executable from some unrelated allocation). > > we vmalloc / g_f_p modules right? so we don't share the last page.
Historically yes, but I don't think we should be counting on it. It makes sense to kmalloc for small modules, and it's arch specific code.
OTOH, a quick grep shows currently only cris does kmalloc, and that's a config option.
It might be time to unify this code. If we rename MODULE_START to MODULE_VADDR on MIPS, then ignoring CRIS there's only two real variants; vmalloc and __vmalloc.
(I like the idea of trying kmalloc and falling back, simply because it reduces TLB pressure, but that's probably best done after unification).
Thoughts? Rusty.
| |