Re: [PATCH] move do_suspend_lowlevel to correct segment

From: Pavel Machek
Date: Thu Jun 15 2006 - 05:19:16 EST


Hi!

> Move do_suspend_lowlevel to correct segment. If it is in the same hugepage
> with ro data, mark_rodata_ro will make it unexecutable.

I guess I do not know enough about segments... Original code puts
saved_magic into .data (and probably puts save_registers there by
mistake, too -- so you are fixing things), but you put saved_magic
code into .data, too, so how does its read-only status change?

Does x86-64 need similar fix?
Pavel


> Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx>
> ---
>
> linux-2.6.17-rc5-root/arch/i386/kernel/acpi/wakeup.S | 9 ++++-----
> 1 files changed, 4 insertions(+), 5 deletions(-)
>
> diff -puN arch/i386/kernel/acpi/wakeup.S~wakeup arch/i386/kernel/acpi/wakeup.S
> --- linux-2.6.17-rc5/arch/i386/kernel/acpi/wakeup.S~wakeup 2006-06-14 09:21:26.000000000 +0800
> +++ linux-2.6.17-rc5-root/arch/i386/kernel/acpi/wakeup.S 2006-06-14 09:21:57.000000000 +0800
> @@ -265,11 +265,6 @@ ENTRY(acpi_copy_wakeup_routine)
> movl $0x12345678, saved_magic
> ret
>
> -.data
> -ALIGN
> -ENTRY(saved_magic) .long 0
> -ENTRY(saved_eip) .long 0
> -
> save_registers:
> leal 4(%esp), %eax
> movl %eax, saved_context_esp
> @@ -304,7 +299,11 @@ ret_point:
> call restore_processor_state
> ret
>
> +.data
> ALIGN
> +ENTRY(saved_magic) .long 0
> +ENTRY(saved_eip) .long 0
> +
> # saved registers
> saved_gdt: .long 0,0
> saved_idt: .long 0,0
> _

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/