Re: [PATCH] x86_64: fix kernel rodata NX setting

From: Steven Rostedt
Date: Mon Apr 21 2008 - 14:58:21 EST



On Mon, 21 Apr 2008, Pekka Paalanen wrote:

> From 35922163c8054bd8d12df78ebae6a6a603760206 Mon Sep 17 00:00:00 2001
> From: Pekka Paalanen <pq@xxxxxx>
> 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@xxxxxx>

Good catch!

Acked-by: Steven Rostedt <srostedt@xxxxxxxxxx>

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