Re: [PATCH v19,RESEND 16/27] x86/sgx: Add the Linux SGX Enclave Driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 26, 2019 at 12:01:31PM +0000, Huang, Kai wrote:
> On Wed, 2019-03-20 at 18:21 +0200, Jarkko Sakkinen wrote:
> > Intel Software Guard eXtensions (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.
> > 
> > This commit adds the Linux SGX Enclave Driver that provides an ioctl API
> > to manage enclaves. The address range for an enclave, commonly referred
> > as ELRANGE in the documentation (e.g. Intel SDM), is reserved with
> > mmap() against /dev/sgx. After that a set ioctls is used to build
> > the enclave to the ELRANGE.
> > 
> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> > Co-developed-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> > Co-developed-by: Serge Ayoun <serge.ayoun@xxxxxxxxx>
> > Signed-off-by: Serge Ayoun <serge.ayoun@xxxxxxxxx>
> > Co-developed-by: Shay Katz-zamir <shay.katz-zamir@xxxxxxxxx>
> > Signed-off-by: Shay Katz-zamir <shay.katz-zamir@xxxxxxxxx>
> > Co-developed-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
> > Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
> > ---
> >  Documentation/ioctl/ioctl-number.txt    |   1 +
> >  arch/x86/Kconfig                        |  17 +-
> >  arch/x86/include/uapi/asm/sgx.h         |  59 ++
> >  arch/x86/kernel/cpu/sgx/Makefile        |   5 +-
> >  arch/x86/kernel/cpu/sgx/driver/Makefile |   3 +
> >  arch/x86/kernel/cpu/sgx/driver/driver.h |  38 ++
> >  arch/x86/kernel/cpu/sgx/driver/ioctl.c  | 795 ++++++++++++++++++++++++
> >  arch/x86/kernel/cpu/sgx/driver/main.c   | 290 +++++++++
> >  arch/x86/kernel/cpu/sgx/encl.c          | 358 +++++++++++
> >  arch/x86/kernel/cpu/sgx/encl.h          |  88 +++
> >  arch/x86/kernel/cpu/sgx/encls.c         |   1 +
> >  arch/x86/kernel/cpu/sgx/main.c          |   3 +
> >  arch/x86/kernel/cpu/sgx/sgx.h           |   1 +
> >  13 files changed, 1657 insertions(+), 2 deletions(-)
> >  create mode 100644 arch/x86/include/uapi/asm/sgx.h
> >  create mode 100644 arch/x86/kernel/cpu/sgx/driver/Makefile
> >  create mode 100644 arch/x86/kernel/cpu/sgx/driver/driver.h
> >  create mode 100644 arch/x86/kernel/cpu/sgx/driver/ioctl.c
> >  create mode 100644 arch/x86/kernel/cpu/sgx/driver/main.c
> >  create mode 100644 arch/x86/kernel/cpu/sgx/encl.c
> >  create mode 100644 arch/x86/kernel/cpu/sgx/encl.h
> 
> Shouldn't the driver be located somewhere under drivers/, but not under arch/x86?
> 
> I don't think x86 maintainers should have the burden to review every code change made to SGX driver?

Not sure I got your angle. It is x86 tied code.

$ git grep tristate arch/x86/ | wc -l
22

/Jarkko



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux