Re: [PATCH v5] RO/NX protection for loadable kernel modules

From: Rusty Russell
Date: Sun Jul 12 2009 - 00:40:55 EST


On Sun, 12 Jul 2009 01:19:58 am Arjan van de Ven wrote:
> Rusty Russell <rusty@xxxxxxxxxxxxxxx> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/