linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Darren Hart <dvhart@infradead.org>
To: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Cc: intel-sgx-kernel-dev@lists.01.org,
	platform-driver-x86@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
	"H. Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org, linux-doc@vger.kernel.org,
	Jonathan Corbet <corbet@lwn.net>
Subject: Re: [PATCH v5 11/11] intel_sgx: driver documentation
Date: Fri, 17 Nov 2017 13:43:10 -0800	[thread overview]
Message-ID: <20171117214310.GB25974@fury> (raw)
In-Reply-To: <20171113194528.28557-12-jarkko.sakkinen@linux.intel.com>

On Mon, Nov 13, 2017 at 09:45:28PM +0200, Jarkko Sakkinen wrote:

Please do not submit patches to LKML without a commit message. There is
*always* something you can provide to give the review additional context
to aid in their review of your code.

As Thomas has noted, the various maintainers have been omitted from this
series. Always review the output of get_maintainers.pl and update the To
and Cc list accordingly for every patch. See
Documentation/process/submitting-patches.rst for details, e.g.

5) Select the recipients for your patch
12) When to use Acked-by: and Cc:

For example, for this patch:
$ scripts/get_maintainer.pl -f Documentation/x86
Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT))
Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT))
"H. Peter Anvin" <hpa@zytor.com> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT))
x86@kernel.org (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT))
Jonathan Corbet <corbet@lwn.net> (maintainer:DOCUMENTATION)
linux-kernel@vger.kernel.org (open list:X86 ARCHITECTURE (32-BIT AND 64-BIT))
linux-doc@vger.kernel.org (open list:DOCUMENTATION)

This series will need to be updated per the comments received so far, as
well as with commit messages and a complete Cc list *per patch* giving
all required parties an opportunity to review.

With respect to the obvious security nature of this series, who from the
kernel security folks are going to be reviewing this?
security@kernel.org?

Cc updated for this thread, and specifically the question regarding
location below:

> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> ---
>  Documentation/index.rst         |   1 +
>  Documentation/x86/intel_sgx.rst | 131 ++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 132 insertions(+)
>  create mode 100644 Documentation/x86/intel_sgx.rst
> 

...

> diff --git a/Documentation/x86/intel_sgx.rst b/Documentation/x86/intel_sgx.rst
> new file mode 100644
> index 000000000000..34bcf6a2a495
> --- /dev/null
> +++ b/Documentation/x86/intel_sgx.rst
> @@ -0,0 +1,131 @@
> +===================
> +Intel(R) SGX driver
> +===================
> +
> +Introduction
> +============
> +
> +Intel(R) SGX is a set of CPU instructions that can be used by applications to
> +set aside private regions of code and data. The code outside the enclave is
> +disallowed to access the memory inside the enclave by the CPU access control.
> +In a way you can think that SGX provides inverted sandbox. It protects the
> +application from a malicious host.
> +
> +There is a new hardware unit in the processor called Memory Encryption Engine
> +(MEE) starting from the Skylake microarchitecture. BIOS can define one or many
> +MEE regions that can hold enclave data by configuring them with PRMRR registers.
> +
> +The MEE automatically encrypts the data leaving the processor package to the MEE
> +regions. The data is encrypted using a random key whose life-time is exactly one
> +power cycle.
> +
> +You can tell if your CPU supports SGX by looking into ``/proc/cpuinfo``:
> +
> +	``cat /proc/cpuinfo  | grep sgx``

Is SGX considered architectural or not? A quick search of the SDM
includes it in Volume 3:

Volume 3: Includes the full system programming guide, parts 1, 2, 3, and
4.  Describes the operating-system support environment of Intel® 64 and
IA-32 architectures, including: memory management, protection, task
management, interrupt and exception handling, multi-processor support,
thermal and power management features, debugging, performance
monitoring, system management mode, virtual machine extensions (VMX)
instructions, Intel® Virtualization Technology (Intel® VT), and Intel®
Software Guard Extensions (Intel® SGX).

https://software.intel.com/en-us/articles/intel-sdm

Depending on the answer, this impacts whether this belongs in
drivers/platform/x86 or arch/x86/platform per our recent agreement with
Thomas.

Thomas, Mingo, HPA, do you wish to see this organized/located
differently than it is here in v5?

> +Launch control
> +==============
> +
> +For launching an enclave, two structures must be provided for ENCLS(EINIT):
> +
> +1. **SIGSTRUCT:** a signed measurement of the enclave binary.
> +2. **EINITTOKEN:** the measurement, the public key of the signer and various
> +   enclave attributes. This structure contains a MAC of its contents using
> +   hardware derived symmetric key called *launch key*.
> +
> +The hardware platform contains a root key pair for signing the SIGTRUCT
> +for a *launch enclave* that is able to acquire the *launch key* for
> +creating EINITTOKEN's for other enclaves.  For the launch enclave
> +EINITTOKEN is not needed because it is signed with the private root key.
> +
> +There are two feature control bits associate with launch control

Nit: missing colon at the end of the line above ^

-- 
Darren Hart
VMware Open Source Technology Center

  parent reply	other threads:[~2017-11-17 21:43 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-13 19:45 [PATCH v5 00/11] Intel SGX Driver Jarkko Sakkinen
2017-11-13 19:45 ` [PATCH v5 01/11] intel_sgx: updated MAINTAINERS Jarkko Sakkinen
2017-11-17 21:54   ` Darren Hart
2017-11-24 19:18     ` Jarkko Sakkinen
2017-11-13 19:45 ` [PATCH v5 02/11] x86: add SGX definition to cpufeature Jarkko Sakkinen
2017-11-13 19:45 ` [PATCH v5 03/11] x86: define the feature control MSR's SGX enable bit Jarkko Sakkinen
2017-11-17 21:48   ` Darren Hart
2017-11-13 19:45 ` [PATCH v5 04/11] x86: define the feature control MSR's SGX launch control bit Jarkko Sakkinen
2017-11-13 19:45 ` [PATCH v5 05/11] x86: add SGX MSRs to msr-index.h Jarkko Sakkinen
2017-11-13 19:45 ` [PATCH v5 06/11] intel_sgx: driver for Intel Software Guard Extensions Jarkko Sakkinen
2017-11-13 23:41   ` James Morris
2017-11-14 20:12     ` Jarkko Sakkinen
2017-11-15 10:04       ` Jarkko Sakkinen
2017-11-14 17:55   ` [intel-sgx-kernel-dev] " Sean Christopherson
2017-11-14 20:28     ` Jarkko Sakkinen
2017-11-15 18:20       ` Sean Christopherson
2017-12-13 23:18         ` Christopherson, Sean J
2017-12-15 15:00           ` Jarkko Sakkinen
2017-12-19 18:52             ` Christopherson, Sean J
2017-12-19 23:11               ` Jarkko Sakkinen
2017-12-19 23:24                 ` Christopherson, Sean J
2017-12-20 10:13                   ` Jarkko Sakkinen
2017-11-13 19:45 ` [PATCH v5 07/11] intel_sgx: ptrace() support Jarkko Sakkinen
2017-11-16  9:28   ` Thomas Gleixner
2017-11-23 10:25     ` Jarkko Sakkinen
2017-11-13 19:45 ` [PATCH v5 08/11] intel_sgx: in-kernel launch enclave Jarkko Sakkinen
2017-11-14 17:05   ` [intel-sgx-kernel-dev] " Sean Christopherson
2017-11-14 20:05     ` Jarkko Sakkinen
2017-11-20 22:21       ` Jarkko Sakkinen
2017-11-15 11:50   ` Peter Zijlstra
2017-11-20 22:25     ` Jarkko Sakkinen
2017-11-20 22:43       ` Thomas Gleixner
2017-11-20 23:43         ` Jarkko Sakkinen
2017-11-20 23:48           ` Thomas Gleixner
2017-11-21 12:23             ` Jarkko Sakkinen
2017-11-21 23:36               ` Thomas Gleixner
2017-11-13 19:45 ` [PATCH v5 09/11] fs/pipe.c: export create_pipe_files() and replace_fd() Jarkko Sakkinen
2017-11-16  9:15   ` Thomas Gleixner
2017-11-20 22:30     ` Jarkko Sakkinen
2017-11-13 19:45 ` [PATCH v5 10/11] intel_sgx: glue code for in-kernel LE Jarkko Sakkinen
2017-11-14 18:16   ` [intel-sgx-kernel-dev] " Sean Christopherson
2017-11-14 20:31     ` Jarkko Sakkinen
2017-11-15 10:10       ` Jarkko Sakkinen
2017-11-17 23:07   ` Darren Hart
2017-11-25 12:52     ` Jarkko Sakkinen
2017-11-25 18:01     ` Jarkko Sakkinen
2017-11-13 19:45 ` [PATCH v5 11/11] intel_sgx: driver documentation Jarkko Sakkinen
2017-11-14  3:01   ` [intel-sgx-kernel-dev] " Kai Huang
2017-11-14 19:47     ` Jarkko Sakkinen
2017-11-14 21:12       ` Kai Huang
2017-11-14  8:36   ` Borislav Petkov
2017-11-14 20:49     ` Jarkko Sakkinen
2017-11-14 21:53       ` Borislav Petkov
2017-11-20 22:37         ` Jarkko Sakkinen
2017-11-20 22:42           ` Borislav Petkov
2017-11-20 23:41             ` Jarkko Sakkinen
2017-11-21 11:10               ` Borislav Petkov
2017-11-15 11:54       ` Peter Zijlstra
2017-11-20 22:46         ` Jarkko Sakkinen
2017-11-21 12:38           ` Jarkko Sakkinen
2017-11-21 12:47             ` Borislav Petkov
2017-11-21 23:45               ` Jethro Beekman
2017-11-22  0:10                 ` Borislav Petkov
2017-11-22  0:27                   ` Jethro Beekman
2017-11-22 11:00                     ` Borislav Petkov
2017-11-22 16:07                       ` Jethro Beekman
2017-11-17 21:43   ` Darren Hart [this message]
2017-11-17 23:34     ` Thomas Gleixner
2017-11-17 23:46       ` Darren Hart
2017-11-20 23:12         ` Jarkko Sakkinen
2017-11-20 23:08       ` Jarkko Sakkinen
2017-11-27 17:03         ` Sean Christopherson
2017-11-27 19:41           ` Sean Christopherson
2017-11-28 20:37           ` Jarkko Sakkinen
2017-11-28 20:46             ` Jarkko Sakkinen
2017-11-24 17:26     ` Jarkko Sakkinen
2017-11-15 10:35 ` [PATCH v5 00/11] Intel SGX Driver Thomas Gleixner
2017-11-20 22:20   ` Jarkko Sakkinen

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=20171117214310.GB25974@fury \
    --to=dvhart@infradead.org \
    --cc=corbet@lwn.net \
    --cc=hpa@zytor.com \
    --cc=intel-sgx-kernel-dev@lists.01.org \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).