All of lore.kernel.org
 help / color / mirror / Atom feed
From: YOSHIDA Masanori <masanori.yoshida.tv@hitachi.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org, Vivek Goyal <vgoyal@redhat.com>,
	linux-kernel@vger.kernel.org, Andy Lutomirski <luto@mit.edu>,
	Ingo Molnar <mingo@elte.hu>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Kees Cook <keescook@chromium.org>, Kevin Hilman <khilman@ti.com>,
	Prarit Bhargava <prarit@redhat.com>,
	"Rafael J. Wysocki" <rjw@sisk.pl>, Tejun Heo <tj@kernel.org>,
	yrl.pp-manager.tt@hitachi.com
Subject: Re: [RFC PATCH 0/4 V2] introduce: livedump
Date: Fri, 25 May 2012 20:12:24 +0900	[thread overview]
Message-ID: <4FBF6918.9010702@hitachi.com> (raw)
In-Reply-To: <1337937942.9783.170.camel@laptop>

Hi, Peter

Thank you for quick reply.

Yes, I know that PF in NMI handling is dangerous, and so livedump doesn't
protect such pages that can be updated during NMI handling.
Such pages are listed in [3/4] as "sensitive pages".

Currently, I regard the following pages as sensitive pages in [3/4].
- Kernel/Exception/Interrupt stacks
- Page table structure
- All task_struct
- ".data" section of kernel
- All per_cpu areas

However, I can't assure these pages are enough to avoid PF in NMI handling.
Do you have any idea to enumerate sensitive pages correctly?

Thank you.


On 2012/05/25 18:25, Peter Zijlstra wrote:
> On Fri, 2012-05-25 at 18:12 +0900, YOSHIDA Masanori wrote:
>> Live Dump is based on Copy-on-write technique. Basically processing is
>> performed in the following order.
>> (1) Suspends processing of all CPUs.
>> (2) Makes pages (which you want to dump) read-only.
>> (3) Resumes all CPUs
>> (4) On page fault, dumps a page including a fault address.
>
> Suppose a PF is in progress when all this happens, you mark all RO, then
> an NMI happens, from the NMI context we'll generate another PF to update
> a vmap area, this will again PF because you mucked about and marked
> things RO.
>
> You're now at 3 PFs, which is instant reboot.
>
> I don't think this is going to work.
>


  reply	other threads:[~2012-05-25 11:12 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-25  9:12 [RFC PATCH 0/4 V2] introduce: livedump YOSHIDA Masanori
2012-05-25  9:12 ` [RFC PATCH 3/4 V2] livedump: Add write protection management YOSHIDA Masanori
2012-05-25  9:12 ` [RFC PATCH 2/4 V2] livedump: Add the new misc device "livedump" YOSHIDA Masanori
2012-05-25  9:12 ` [RFC PATCH 1/4 V2] livedump: Add notifier-call-chain into do_page_fault YOSHIDA Masanori
2012-05-25  9:19   ` Peter Zijlstra
2012-05-25 12:14     ` YOSHIDA Masanori
2012-05-25  9:12 ` [RFC PATCH 4/4 V2] livedump: Add memory dumping functionality YOSHIDA Masanori
2012-05-25  9:25 ` [RFC PATCH 0/4 V2] introduce: livedump Peter Zijlstra
2012-05-25 11:12   ` YOSHIDA Masanori [this message]
2012-06-04 21:09 ` Vivek Goyal
2012-06-05  9:50   ` YOSHIDA Masanori
2012-06-04 21:29 ` H. Peter Anvin

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=4FBF6918.9010702@hitachi.com \
    --to=masanori.yoshida.tv@hitachi.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=hpa@zytor.com \
    --cc=keescook@chromium.org \
    --cc=khilman@ti.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@mit.edu \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=prarit@redhat.com \
    --cc=rjw@sisk.pl \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=vgoyal@redhat.com \
    --cc=x86@kernel.org \
    --cc=yrl.pp-manager.tt@hitachi.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.