From: Ingo Molnar <mingo@elte.hu>
To: Lin Ming <ming.m.lin@intel.com>
Cc: Matthieu Castet <castet.matthieu@free.fr>,
Siarhei Liakh <sliakh.lkml@gmail.com>,
Xuxian Jiang <jiang@cs.ncsu.edu>,
Arjan van de Ven <arjan@infradead.org>,
Andi Kleen <andi@firstfloor.org>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: -tip tree resume fail, bisect to 5bd5a45(x86: Add NX protection for kernel data)
Date: Mon, 22 Nov 2010 09:07:10 +0100 [thread overview]
Message-ID: <20101122080710.GA1510@elte.hu> (raw)
In-Reply-To: <1290410581.2405.24.camel@minggr.sh.intel.com>
* Lin Ming <ming.m.lin@intel.com> 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).
>
> commit 5bd5a452662bc37c54fb6828db1a3faf87e6511c
> Author: Matthieu Castet <castet.matthieu@free.fr>
> 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);
>
> In my machine,
> rodata_start=0xffffffff81a00000, end=0xffffffff81e00000, kernel_end=0xffffffff82200000
>
> Without this commit, kernel page table dumps
>
> ---[ High Kernel Mapping ]---
> ....
> 0xffffffff81a00000-0xffffffff81c00000 2M ro PSE GLB NX pmd
> 0xffffffff81c00000-0xffffffff81d91000 1604K ro GLB NX pte
> 0xffffffff81d91000-0xffffffff81e00000 444K ro GLB NX pte
> 0xffffffff81e00000-0xffffffff82000000 2M RW PSE GLB x pmd
> 0xffffffff82000000-0xffffffff8200c000 48K RW GLB x pte
> 0xffffffff8200c000-0xffffffff82100000 976K RW GLB x pte
> 0xffffffff82100000-0xffffffff82200000 1M RW GLB x pte
> .....
>
> With this commit, kernel page table dumps
>
> ---[ High Kernel Mapping ]---
> ....
> 0xffffffff81a00000-0xffffffff81c00000 2M ro PSE GLB NX pmd
> 0xffffffff81c00000-0xffffffff81d91000 1604K ro GLB NX pte
> 0xffffffff81d91000-0xffffffff81e00000 444K ro GLB NX pte
> 0xffffffff81e00000-0xffffffff82000000 2M RW PSE GLB NX pmd
> 0xffffffff82000000-0xffffffff8200c000 48K RW GLB NX pte
> 0xffffffff8200c000-0xffffffff82100000 976K RW GLB NX pte
> 0xffffffff82100000-0xffffffff82200000 1M RW GLB NX pte
> .....
>
> The only difference is 0xffffffff81e00000(end) to 0xffffffff82200000(kernel_end) is set to NX.
>
> I guess this range code is used by resume wakeup code. So setting it to NX causes problem.
>
> Any idea?
Yeah, the resume area is a trampoline, it needs to be executable.
Thanks,
Ingo
next prev parent reply other threads:[~2010-11-22 8:07 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-22 7:23 -tip tree resume fail, bisect to 5bd5a45(x86: Add NX protection for kernel data) Lin Ming
2010-11-22 8:07 ` Ingo Molnar [this message]
2010-11-22 9:20 ` Andi Kleen
2010-11-22 10:29 ` castet.matthieu
2010-11-22 10:47 ` Andi Kleen
2010-11-22 13:03 ` Peter Zijlstra
2010-11-22 16:29 ` castet.matthieu
2010-11-22 16:35 ` Peter Zijlstra
2010-11-22 16:42 ` Andi Kleen
2010-11-23 22:55 ` mat
2010-11-26 17:31 ` mat
2010-11-26 23:39 ` Lin Ming
2010-11-30 5:00 ` Lin Ming
2010-11-30 11:27 ` Peter Zijlstra
2010-12-01 0:15 ` Lin Ming
2011-01-23 19:06 ` matthieu castet
2011-01-24 22:22 ` matthieu castet
2011-01-25 12:36 ` Lin Ming
2011-03-09 23:16 ` matthieu castet
2011-03-10 2:39 ` Lin Ming
2010-12-24 17:26 ` matthieu castet
2010-12-27 2:10 ` Lin Ming
2011-01-05 18:58 ` matthieu castet
2010-11-22 13:42 ` [tip:x86/security] x86: Resume trampoline must be executable tip-bot for Lin Ming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101122080710.GA1510@elte.hu \
--to=mingo@elte.hu \
--cc=andi@firstfloor.org \
--cc=arjan@infradead.org \
--cc=castet.matthieu@free.fr \
--cc=jiang@cs.ncsu.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.m.lin@intel.com \
--cc=sliakh.lkml@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.