Re: [PATCH] move do_suspend_lowlevel to correct segment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Pavel,
On Thu, 2006-06-15 at 11:19 +0200, Pavel Machek wrote:
> > 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?
No, mark_rodata_ro will call change_page_attr, which will split huge
page into small pages, and changes the attr of the pages to PAGE_KERNEL.
mark_rodata_ro just changes rodata to read-only page attr.

> Does x86-64 need similar fix?
It appears not needed

Thanks,
Shaohua
> 
> 
> > Signed-off-by: Shaohua Li <[email protected]>
> > ---
> > 
> >  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
> > _
> 
-- 
Shaohua Li <[email protected]>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux