Subject: RO/NX protection for loadable kernel modules

From: Kees Cook <[email-masked]>
Date: Sat, 6 Nov 2010 11:28:52 -0700

Peter, anyone? What is the state of this? I can see it in the tip tree,
but it doesn't appear associated with a branch. What will it take to
get this into Linus's tree?

http://git.kernel.org/?p=linux/kernel/git/x86/linux-2.6-tip.git;a=commitdiff;h=65187d24fa3ef60f691f847c792e8eaca7e19251

This feature is needed before the function-pointer const-ification patches
will really have any meaning.

Thanks,

-Kees

On Tue, Oct 19, 2010 at 09:45:39PM -0700, Kees Cook wrote:
> On Mon, Feb 08, 2010 at 11:59:44AM +1030, Rusty Russell wrote:
> > On Tue, 2 Feb 2010 04:36:49 pm H. Peter Anvin wrote:
> > > On 02/01/2010 07:59 PM, Rusty Russell wrote:
> > > > On Tue, 2 Feb 2010 10:09:53 am Siarhei Liakh wrote:
> > > >> This patch is a logical extension of the protection provided by
> > > >> CONFIG_DEBUG_RODATA to LKMs. The protection is provided by splitting
> > > >> module_core and module_init into three logical parts each and setting
> > > >> appropriate page access permissions for each individual section:
> > > >>
> > > >>   1. Code: RO+X
> > > >>   2. RO data: RO+NX
> > > >>   3. RW data: RW+NX
> > > >
> > > > Thanks, applied!
> > > 
> > > I also applied this to the -tip tree... do you prefer to carry it or 
> > > should I leave it as is?
> > 
> > I'm always happy for you to do my work for me!  There are no other module
> > patches likely to conflict.
> > 
> > Acked-by: Rusty Russell <[email-masked]>
> 
> Sorry for losing track, but where did this patch end up? I don't see it
> in any of the trees I've looked in.

-- 
Kees Cook
Ubuntu Security Team