Re: [PATCH 3/3 V13] RO/NX protection for loadable kernel

From: Xiaotian Feng
Date: Fri Jan 07 2011 - 04:34:13 EST


On Thu, Dec 23, 2010 at 5:35 AM, <Valdis.Kletnieks@xxxxxx> wrote:
> On Wed, 22 Dec 2010 13:40:19 +0100, Ingo Molnar said:
>>
>> * mat <castet.matthieu@xxxxxxx> wrote:
>>
>> > Le Wed, 8 Dec 2010 14:19:51 -0800,
>> > Kees Cook <kees.cook@xxxxxxxxxxxxx> a Ãcrit :
>> >
>> > > On Fri, Nov 26, 2010 at 06:23:55PM +0100, mat wrote:
>> > > > could you try the attached patch ?
>> > > >
>> > > > on module load, we sort the __jump_table section. So we should make
>> > > > it writable.
>> > > >
>> > > >
>> > > > Matthieu
>> > >
>> > > > diff --git a/arch/x86/include/asm/jump_label.h
>> > > > b/arch/x86/include/asm/jump_label.h index f52d42e..574dbc2 100644
>> > > > --- a/arch/x86/include/asm/jump_label.h
>> > > > +++ b/arch/x86/include/asm/jump_label.h
>> > > > @@ -14,7 +14,7 @@
>> > > > Â Â Â Â do
>> > > > { Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â \ asm
>> > > > goto("1:" Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â \
>> > > > JUMP_LABEL_INITIAL_NOP Â Â Â Â Â Â Â Â Â\
>> > > > - Â Â Â Â Â Â Â Â Â Â Â ".pushsection __jump_table, Â\"a\" \n\t"\
>> > > > + Â Â Â Â Â Â Â Â Â Â Â ".pushsection __jump_table, Â\"aw\" \n\t"\
>> > > > Â Â Â Â Â Â Â Â Â Â Â Â _ASM_PTR "1b, %l[" #label "], %c0 \n\t" \
>> > > > Â Â Â Â Â Â Â Â Â Â Â Â ".popsection \n\t" Â Â Â Â Â Â Â Â Â Â Â\
>> > > > Â Â Â Â Â Â Â Â Â Â Â Â : : Â"i" (key) : Â: label);
>> > > > \
>> > >
>> > > Acked-by: Kees Cook <kees.cook@xxxxxxxxxxxxx>
>> > >
>> > > Can this please get committed to tip?
>> > I think it is not need anymore with ÂSteven Rostedt patch [1]
>> >
>> > Matthieu
>> >
>> > [1]
>> > > > Here we set the text read only before we call the notifiers. The
>> > > > function tracer changes the calls to mcount into nops via a notifier
>> > > > call so this must be done after the module notifiers.
>>
>> What's the status of this bug?
>>
>> If we still need the patch then please submit it standalone with a proper subject
>> line, with acks/signoffs added, etc.
>
> Steve Rostedt's patch that moves the setting of the page permissions seems to
> make this patch no longer necessary. ÂI tripped over this same issue, but the
> version in the latest -mmotm does not need it, as it includes Steve's fix.
>

I'm facing a boot failure (panic'ed on remove_jump_label_module_init)
on 2.6.37 (latest commit 3c0cb7c), which is 100% reproducible.
With this patch applied, I can boot my machine successfully, so I do
think this patch is needed.

Thanks
Xiaotian
--
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/