Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp321749yba; Wed, 15 May 2019 01:50:58 -0700 (PDT) X-Google-Smtp-Source: APXvYqxbbWmskyUMS+iIAFNx9Fww7ZUMCWf3m2fyDGNDzRK9gLV07JLHy3auSQofD0noPNy+oasq X-Received: by 2002:a62:1a93:: with SMTP id a141mr13724308pfa.72.1557910258369; Wed, 15 May 2019 01:50:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557910258; cv=none; d=google.com; s=arc-20160816; b=ti90zASvW/A9+Igkz2e/v+ldLUHzYNsFvlWx0HDNHiDUKrlG9gWhpg2/Ol8pS1GJIA +fGISftmTcC4t43drjNIVL9E7yv0gXdilIThnV5LWUAZoL4Lk5Epq4lAlZIhLP48182l LZa21czfrTHxIUU4cV3c/4DuF9GlquJZEgsc1qOp0OifQ1p3dm7VMzXqDy1RyY4+3o4X JWl0HPyXBBBCuXB60AM0tVNAVX59+IxwYGlbdwnRGQ4EXhSXbaE757lLGDxwvlNbmgoN Yxtd8zdfbzD1w+1qc81eXy2dnfZe1PApC5hUTDNo62NqXDT5HErxuGD2HTjhB54K3xWR gMLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:organization:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=Kw4/teKoqqCOaemQoG5NjSG2CxVpUlD7zTh21bt4FyA=; b=b/Ff55LivKoMViXM+7kffpt6k81Zhu1Mz88XQKNr6IAeaWpXe1jxX1SI7sTmj+n38H Nvg3CfXBEJwIpKnKEMi53EenGad3OtZoPMYM3X52tD39QkLVEg63PHAp+tcrnezjf8R8 ZR+f6IHbYjzqCgSTww8xltnDDGbATECilY4LNj65BKMYHKCb/SK45yfxpaQ3dyyXCn7E GzpdTYzxJKSBZpZeQDzVzmummUh+lDRq9EnLohBjScrcKreXNSPMLZTtpYUCpk2uW6Nu QVFo/sVz9H4i4WLXzifN9cTbOD67n1V2DUeJOfII27sannPygTQAKDw6ut71Ki4lmR0c sTHQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g7si1307895pgi.38.2019.05.15.01.50.43; Wed, 15 May 2019 01:50:58 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726462AbfEOItH (ORCPT + 99 others); Wed, 15 May 2019 04:49:07 -0400 Received: from mga04.intel.com ([192.55.52.120]:30853 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725876AbfEOItH (ORCPT ); Wed, 15 May 2019 04:49:07 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 May 2019 01:49:06 -0700 X-ExtLoop1: 1 Received: from jsakkine-mobl1.tm.intel.com (HELO localhost) ([10.237.50.189]) by orsmga004.jf.intel.com with ESMTP; 15 May 2019 01:49:00 -0700 Date: Wed, 15 May 2019 11:49:09 +0300 From: Jarkko Sakkinen To: Andy Lutomirski Cc: Jethro Beekman , "Xing, Cedric" , "Hansen, Dave" , Thomas Gleixner , "Dr. Greg" , Linus Torvalds , LKML , X86 ML , "linux-sgx@vger.kernel.org" , Andrew Morton , "Christopherson, Sean J" , "nhorman@redhat.com" , "npmccallum@redhat.com" , "Ayoun, Serge" , "Katz-zamir, Shay" , "Huang, Haitao" , Andy Shevchenko , "Svahn, Kai" , Borislav Petkov , Josh Triplett , "Huang, Kai" , David Rientjes Subject: Re: [PATCH v20 00/28] Intel SGX1 support Message-ID: <20190515084909.GA10043@linux.intel.com> References: <960B34DE67B9E140824F1DCDEC400C0F4E885F9D@ORSMSX116.amr.corp.intel.com> <979615a8-fd03-e3fd-fbdb-65c1e51afd93@fortanix.com> <8fe520bb-30bd-f246-a3d8-c5443e47a014@intel.com> <358e9b36-230f-eb18-efdb-b472be8438b4@fortanix.com> <960B34DE67B9E140824F1DCDEC400C0F4E886094@ORSMSX116.amr.corp.intel.com> <6da269d8-7ebb-4177-b6a7-50cc5b435cf4@fortanix.com> <20190513102926.GD8743@linux.intel.com> <20190514104323.GA7591@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 14, 2019 at 08:13:36AM -0700, Andy Lutomirski wrote: > On Tue, May 14, 2019 at 3:43 AM Jarkko Sakkinen > wrote: > > > > On Mon, May 13, 2019 at 01:29:26PM +0300, Jarkko Sakkinen wrote: > > > I did study through SDK's file format and realized that it does not > > > does make sense after all to embed one. > > > > > > To implement it properly you would probably need a new syscall (lets say > > > sgx_load_enclave) and also that enclaves are not just executables > > > binaries. It is hard to find a generic format for them as applications > > > range from simply protecting part of an application to running a > > > containter inside enclave. > > > > I'm still puzzling what kind of changes you were discussing considering > > SGX_IOC_ENCLAVE_ADD_PAGE. > > I think it's as simple as requiring that, if SECINFO.X is set, then > the src pointer points to the appropriate number of bytes of > executable memory. (Unless there's some way for an enclave to change > SECINFO after the fact -- is there?) Sadly, we don't really have the > a nice in-kernel API for that right now. You could do > down_read(mmap_sem) and find_vma(). Arguably there is no value to > checking that PKRU allows execute to the data. OK, so you would actually go on to check whether the VMA where the data is copied contains executable data? What if SECINFO.X is not set and you EADD to region that is executable in the enclave VMA? E.g. have RWX VMA for the enclave just to give a simple example. Then you could carry executable code in the data sections of the binary. /Jarkko