Re: -tip tree resume fail, bisect to 5bd5a45(x86: Add NXprotection for kernel data)

From: Peter Zijlstra
Date: Mon Nov 22 2010 - 11:36:05 EST


On Mon, 2010-11-22 at 17:29 +0100, castet.matthieu@xxxxxxx wrote:
> Hi,
>
> Quoting Peter Zijlstra <peterz@xxxxxxxxxxxxx>:
>
> > On Mon, 2010-11-22 at 15:23 +0800, Lin Ming wrote:
> > > Hi, all
> > >
> > > Current -tip tree(92c883a) fail to resume after suspend to mem.
> > > Bisect to commit 5bd5a45(x86: Add NX protection for kernel data).
> >
> > Drad, if only I'd looked at LKML before I did the bisection myself..
> >
> > > commit 5bd5a452662bc37c54fb6828db1a3faf87e6511c
> > > Author: Matthieu Castet <castet.matthieu@xxxxxxx>
> > > Date: Tue Nov 16 22:31:26 2010 +0100
> > >
> > > x86: Add NX protection for kernel data
> > >
> > >
> > > I did some debug and found the regression is caused by below line.
> > >
> > > - set_memory_nx(rodata_start, (end - rodata_start) >> PAGE_SHIFT);
> > > + set_memory_nx(rodata_start, (kernel_end - rodata_start) >>
> > PAGE_SHIFT);
> >
> >
> > Confirmed, with that hunk reverted my machine works again..
> >
> Ok,
> I will submit a proper fix :
> in acpi_save_state_mem/acpi_restore_state_mem make the trampoline X or NX.

That seems to be a S3 specific code path, that won't fix anything.
Simply do:

echo 0 > /sys/devices/system/cpu/cpu1/online;
echo 1 > /sys/devices/system/cpu/cpu1/online;

and your machine will explode..


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