Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3403332pxk; Mon, 21 Sep 2020 12:46:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyir+LJLnO4JLwiKHGbXUhl8DpKyqSuLScNHlAbRb+tKqtOp7kvYNYsYnsupIlFCwphS75s X-Received: by 2002:a05:6402:22fc:: with SMTP id dn28mr473645edb.365.1600717561058; Mon, 21 Sep 2020 12:46:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600717561; cv=none; d=google.com; s=arc-20160816; b=CVz5my1lEheUL02dUoGsziPKkXwLPCGL1z1JKK+upKKmMWJm7sAD+u4p4U7NtKQoAv ed1Pb/zU4K1QU2gX125I8QhtkMw0vn4uFz9c/fY45VHPr8hHzKiXJh2HoZXLdXw+NDM3 svxE1CmXvOGpZVzO8xQzRYfEmLcMQ3u7Z0kIT9cmhGRGyt+JUrf0vlLOhikSRMgj/Cse uoTT3N9k4MBcnY643nt/grr+BXnQnMHwhXq3JK9xOeBQ7cDmOb0lNU8oCyvEPDK2S72t Kxs87sTDOENxAdSPxveCoY16KZQhWMNKWGoDE8tu0Q6hojgbPgwNt1hPALZS2yz0JihU HZbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:organization:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :ironport-sdr:ironport-sdr; bh=VoLpIulhj3mllM3v0H9z7pgtdp6DzW/ITBrDCOIH5+w=; b=Yo+qmeU6DSzj/O+4ziXPba5ogKO5Er8zbNnDX+Hb6+zDWNhu19el9uh1bWXvZ6fjM3 PDddooS8P6I98XkbIo+0PLQubxjrWbHiDpEjsugvfl+TrMAWJOCIfsnhOp65KuYlH0oO r2YVKU5lns4xH3zkEbvrSnn6QERZvx37EhGGC0np1RXI+E9kLTA6RGB2cguQh3Szx1dH Z8jnh5U+EeDyUWFDXAZqboGLiyfrclyD8t07PBtdsTkzCMPUVsfPxM2JGY5SdXGFDV7O StOP3LWar/IjzxsXcCQfs3ygWv4TKhcVACO/HeUltOYk6OzLsZmnW2tQxPXRHx1YADrT tJ6Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id mh25si9365212ejb.568.2020.09.21.12.45.37; Mon, 21 Sep 2020 12:46:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1728103AbgIUTob (ORCPT + 99 others); Mon, 21 Sep 2020 15:44:31 -0400 Received: from mga01.intel.com ([192.55.52.88]:15050 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726417AbgIUToa (ORCPT ); Mon, 21 Sep 2020 15:44:30 -0400 IronPort-SDR: 37YfALmnNb0zs1vMEpVjxLi7FvQduh5WQnCxmHBZailXBFgXB+ShEZYvVCb43dYxmpdpjmAEDq mDsqGhG27WPQ== X-IronPort-AV: E=McAfee;i="6000,8403,9751"; a="178527768" X-IronPort-AV: E=Sophos;i="5.77,287,1596524400"; d="scan'208";a="178527768" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2020 12:44:29 -0700 IronPort-SDR: hRI7AJOtI612hTVPxxrnte84gBMtcVfm0V+bM8pTR01ny9U00le72zR9Yyzn5542Bme2BPu0+2 SO4GQhOeVJXA== X-IronPort-AV: E=Sophos;i="5.77,287,1596524400"; d="scan'208";a="485639771" Received: from tsenx-mobl1.ger.corp.intel.com (HELO localhost) ([10.252.44.83]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2020 12:44:21 -0700 Date: Mon, 21 Sep 2020 22:44:19 +0300 From: Jarkko Sakkinen To: Sean Christopherson Cc: Haitao Huang , x86@kernel.org, linux-sgx@vger.kernel.org, linux-kernel@vger.kernel.org, Jethro Beekman , Chunyang Hui , Jordan Hand , Nathaniel McCallum , Seth Moore , Darren Kenny , Suresh Siddha , akpm@linux-foundation.org, andriy.shevchenko@linux.intel.com, asapek@google.com, bp@alien8.de, cedric.xing@intel.com, chenalexchen@google.com, conradparker@google.com, cyhanish@google.com, dave.hansen@intel.com, haitao.huang@intel.com, josh@joshtriplett.org, kai.huang@intel.com, kai.svahn@intel.com, kmoy@google.com, ludloff@google.com, luto@kernel.org, nhorman@redhat.com, puiterwijk@redhat.com, rientjes@google.com, tglx@linutronix.de, yaozhangx@google.com Subject: Re: [PATCH v38 13/24] x86/sgx: Add SGX_IOC_ENCLAVE_ADD_PAGES Message-ID: <20200921194419.GA56547@linux.intel.com> References: <20200917160206.GF8530@linux.intel.com> <20200918020940.GA14678@sjchrist-ice> <20200918122029.GA27028@linux.intel.com> <20200918123932.GB27028@linux.intel.com> <20200919000918.GB21189@sjchrist-ice> <20200921114104.GB6038@linux.intel.com> <20200921164647.GC23989@linux.intel.com> <20200921184948.GA49586@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200921184948.GA49586@linux.intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 21, 2020 at 09:49:48PM +0300, Jarkko Sakkinen wrote: > To have understandable semantics you have to map error codes to > conditions rather than opcodes. -EIO means loss of enclave in the event > of EPC gone invalid. Enclave is already lost, that is the reason why we > deinitialize the kernel data structures. > > EADD must have a different error code because nothing is actually lost > but the failure conditions are triggered outside. -EFAULT would be > probably the most reasonable choice for that. Now that I did all the changes discussed and then I remember why EADD and EEXTEND had a common error code, and common behaviour. Obviously EADD can also fail because of EPC reset because it depends on a valid SECS page. If we cannot distinct from EADD caused by EPC loss and EADD caused by problems with the source, it should have the same error code, and also the enclave should be deinitialized, whenver this happens. So I would just revert to v38 behaviour, keeping of course the whole check more visible in sgx_ioc_enclave_add_pages(), and just refine the documentation better describe the whole situation. /Jarkko