public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Daniel Kiper <daniel.kiper@oracle.com>,
	"xen-devel\@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	"x86\@kernel.org" <x86@kernel.org>,
	"kexec\@lists.infradead.org" <kexec@lists.infradead.org>,
	"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"virtualization\@lists.linux-foundation.org" 
	<virtualization@lists.linux-foundation.org>,
	"mingo\@redhat.com" <mingo@redhat.com>,
	Jan Beulich <JBeulich@suse.com>,
	"maxim.uvarov\@oracle.com" <maxim.uvarov@oracle.com>,
	"tglx\@linutronix.de" <tglx@linutronix.de>,
	"vgoyal\@redhat.com" <vgoyal@redhat.com>
Subject: Re: [Xen-devel] [PATCH v3 00/11] xen: Initial kexec/kdump implementation
Date: Fri, 11 Jan 2013 12:26:56 -0800	[thread overview]
Message-ID: <87k3rjtqi7.fsf@xmission.com> (raw)
In-Reply-To: <20130111165506.GD25620@phenom.dumpdata.com> (Konrad Rzeszutek Wilk's message of "Fri, 11 Jan 2013 11:55:06 -0500")

Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> writes:

> On Thu, Jan 10, 2013 at 08:16:48PM -0800, Eric W. Biederman wrote:

>> The basic kexec interface is.
>> 
>> load ranges of virtual addresses physical addresses.
>> jump to the physical address  with identity mapped page tables.
>> 
>> There are a few flags to allow for different usage scenarios like
>> kexec on panic vs normal kexec.
>
> And there is nothing fancy to be done for EFI and SecureBoot?

There is a mess with EFI.  Reports are that EFI is a bug ridden pile,
and people keep advocating that we make more and more EFI calls in the
main kernel.  There is an argument over set_virtual_mapping, which is a
call that can be made only once which relocates the EFI code to a
different address, which makes life inconvient for kexec.  There is
another argument that EFI doesn't actually work if you don't make the
set_virtual_mapping call so we can't remove it and always use physical
addresses.

Frankly the only sane way to run a linux kernel under EFI is to scrape
up the information needed to talk to the hardware directly and ignore
EFI.  That is what we have historically done in the face of BIOS madness
and if anything the situation is worse with EFI, but it looks like we
are going to have to learn that the hard way.

Recently there is a desire to figure out how to /sbin/kexec support
signed kernel images.  What will probably happen is to have a specially
trusted userspace application perform the verification.  Sort of like
dom0 for the linux userspace.  A few other ideas have been batted around
but none that have stuck.

None of that is really about SecureBoot.  It is all trusting the kernel
binary but not trusting userspace.  With SecureBoot being an excuse for
coming up with a policy like that.

It looks like the answer to SecureBoot at this point may simply be just
reconfigure your BIOS or root Windows and EFI to get the hardware to do
what you want.

So the answer for looking forward for Xen dom0 is: A trusted /sbin/kexec
won't require changes.  The other suggest solution is a flag that says a
specific chunk of the loaded image is a signature that the magic trust
faires can verify.  As long as you have a flag bit free you should be
able to implement that policy if we ever implement it.

Eric

  parent reply	other threads:[~2013-01-11 20:27 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-27  2:18 [PATCH v3 00/11] xen: Initial kexec/kdump implementation Daniel Kiper
2012-12-27  2:18 ` [PATCH v3 01/11] kexec: introduce kexec firmware support Daniel Kiper
2012-12-27  2:18   ` [PATCH v3 02/11] x86/kexec: Add extra pointers to transition page table PGD, PUD, PMD and PTE Daniel Kiper
2012-12-27  2:18     ` [PATCH v3 03/11] xen: Introduce architecture independent data for kexec/kdump Daniel Kiper
2012-12-27  2:18       ` [PATCH v3 04/11] x86/xen: Introduce architecture dependent " Daniel Kiper
2012-12-27  2:18         ` [PATCH v3 05/11] x86/xen: Register resources required by kexec-tools Daniel Kiper
2012-12-27  2:18           ` [PATCH v3 06/11] x86/xen: Add i386 kexec/kdump implementation Daniel Kiper
2012-12-27  2:18             ` [PATCH v3 07/11] x86/xen: Add x86_64 " Daniel Kiper
2012-12-27  2:18               ` [PATCH v3 08/11] x86/xen: Add kexec/kdump Kconfig and makefile rules Daniel Kiper
2012-12-27  2:18                 ` [PATCH v3 09/11] x86/xen/enlighten: Add init and crash kexec/kdump hooks Daniel Kiper
2012-12-27  2:18                   ` [PATCH v3 10/11] drivers/xen: Export vmcoreinfo through sysfs Daniel Kiper
2012-12-27  2:19                     ` [PATCH v3 11/11] x86: Add Xen kexec control code size check to linker script Daniel Kiper
2012-12-27 18:53                   ` [PATCH v3 09/11] x86/xen/enlighten: Add init and crash kexec/kdump hooks H. Peter Anvin
2012-12-27  4:00             ` [PATCH v3 06/11] x86/xen: Add i386 kexec/kdump implementation H. Peter Anvin
2012-12-27  3:33     ` [PATCH v3 02/11] x86/kexec: Add extra pointers to transition page table PGD, PUD, PMD and PTE H. Peter Anvin
2013-01-03  9:34     ` Jan Beulich
2013-01-04 15:15       ` Daniel Kiper
2013-01-04 16:12         ` Jan Beulich
2013-01-04 17:25           ` Daniel Kiper
2013-01-07  9:48             ` Jan Beulich
2013-01-07 12:52               ` Daniel Kiper
2013-01-07 13:05                 ` Jan Beulich
2013-01-09 18:42                   ` Daniel Kiper
2013-01-10 14:07         ` [Xen-devel] " David Vrabel
2013-01-11 13:36           ` Daniel Kiper
2012-12-27  4:46   ` [PATCH v3 01/11] kexec: introduce kexec firmware support Eric W. Biederman
2012-12-27  4:02 ` [PATCH v3 00/11] xen: Initial kexec/kdump implementation H. Peter Anvin
2012-12-27  7:53   ` Eric W. Biederman
2012-12-27 14:18     ` Andrew Cooper
2012-12-27 18:02       ` Eric W. Biederman
2013-01-02 11:26         ` [Xen-devel] " Andrew Cooper
2013-01-02 11:47           ` Eric W. Biederman
2013-01-03  9:31           ` Jan Beulich
2013-01-04 14:22           ` Daniel Kiper
2013-01-04 14:34             ` Konrad Rzeszutek Wilk
2013-01-04 14:34             ` Ian Campbell
2013-01-04 14:38             ` David Vrabel
2013-01-04 17:01               ` Daniel Kiper
2013-01-10 14:19                 ` David Vrabel
2013-01-11 13:22                   ` Daniel Kiper
2013-01-11 15:22                     ` David Vrabel
2013-01-11 17:34                       ` Daniel Kiper
2013-01-11 20:05                       ` Eric W. Biederman
2013-01-04 14:41             ` Jan Beulich
2013-01-04 17:07               ` Daniel Kiper
2013-01-04 19:11                 ` Konrad Rzeszutek Wilk
2013-01-07 10:25                   ` Ian Campbell
2013-01-07 10:46                     ` Andrew Cooper
2013-01-07 10:54                       ` Ian Campbell
2013-01-07 12:34                   ` Daniel Kiper
2013-01-07 13:49                     ` Ian Campbell
2013-01-11 13:47                       ` Daniel Kiper
2013-01-07 16:20                     ` Konrad Rzeszutek Wilk
2013-01-11  4:16                       ` Eric W. Biederman
2013-01-11 16:55                         ` Konrad Rzeszutek Wilk
2013-01-11 20:26                           ` H. Peter Anvin
2013-01-11 20:43                             ` Vivek Goyal
2013-01-11 20:26                           ` Eric W. Biederman [this message]
2013-01-11 20:52                             ` Vivek Goyal
2013-01-11 21:03                               ` H. Peter Anvin
2013-01-11 21:08                                 ` Vivek Goyal
2013-01-11 21:14                                   ` H. Peter Anvin
2013-01-02 15:27       ` Ian Campbell

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=87k3rjtqi7.fsf@xmission.com \
    --to=ebiederm@xmission.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=daniel.kiper@oracle.com \
    --cc=hpa@zytor.com \
    --cc=kexec@lists.infradead.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxim.uvarov@oracle.com \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=vgoyal@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xensource.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox