Messages in this thread | | | Date | Mon, 21 Apr 2008 14:57:27 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: [PATCH] x86_64: fix kernel rodata NX setting |
| |
On Mon, 21 Apr 2008, Pekka Paalanen wrote:
> From 35922163c8054bd8d12df78ebae6a6a603760206 Mon Sep 17 00:00:00 2001 > From: Pekka Paalanen <pq@iki.fi> > Date: Mon, 21 Apr 2008 21:36:09 +0300 > Subject: [PATCH] x86_64: fix kernel rodata NX setting > > Without CONFIG_DYNAMIC_FTRACE, mark_rodata_ro() would mark a wrong > number of pages as no-execute. The bug was introduced in the patch > "ftrace: dont write protect kernel text". The symptom was machine reboot > after a CPU hotplug. > > Signed-off-by: Pekka Paalanen <pq@iki.fi>
Good catch!
Acked-by: Steven Rostedt <srostedt@redhat.com>
-- Steve
> arch/x86/mm/init_64.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c > index 7851773..d7ae30a 100644 > --- a/arch/x86/mm/init_64.c > +++ b/arch/x86/mm/init_64.c > @@ -792,7 +792,7 @@ void mark_rodata_ro(void) > * The rodata section (but not the kernel text!) should also be > * not-executable. > */ > - set_memory_nx(rodata_start, (end - start) >> PAGE_SHIFT); > + set_memory_nx(rodata_start, (end - rodata_start) >> PAGE_SHIFT); > > rodata_test(); > > -- > 1.5.3.7 > >
| |