All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.