Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3194236imu; Mon, 17 Dec 2018 15:14:21 -0800 (PST) X-Google-Smtp-Source: AFSGD/WdKishjyhwhzzTzsjdKRh4P8Wn4c1irubqEQnSPvnjmHCV0pECjkeBMZo/r0wGl0ZNmz6i X-Received: by 2002:a62:5c1:: with SMTP id 184mr14399887pff.165.1545088461567; Mon, 17 Dec 2018 15:14:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545088461; cv=none; d=google.com; s=arc-20160816; b=eDvREkeFoQP1U7fUeb6BRkf5gYFLTusSyVBPEAig+ukMOgN+niR69wlgxrj7svk3xI bDk34C6aaYQdKV49BQiT0vrHzPltNoeis5/srlX1OxRFNuBQ7E+17CnsEkl9F3C+UiGe 4r6xxIhID3ImfwgYBzCj3mgHFs/N05mvStG5HUAWqR18KmSIxn1HuyO6WthMr9Cx+otr fl66VqYRaVuZKJskzmozNVzs/sNs/rmfqAUQh0ceNNBrz5VrzxKC2pwTVoHTcQggOygS p8eep8v7/MAfYrzs/5h/w+jMY94g/S5JNy++HgvoRm7U5ht95NS7joE2vAMrduzu6yaD uQ8w== 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=CmzsLqMgtZFNPQYWkyq0GJpy+pHY6XgbNCZSVRNg2NA=; b=gch14q0fpMLy6OAekqQgEZZUR5+49zLsIEsJqS6tzpyahUjVp3oh/pvIQ0VEYMIUrO mzv9HYzt+u+gmVHbNCu+mkmO5wZ7p4JFz3DedvtZW1b1jrUkG/gnzT9jptF9G44Z0url htDNYrHmNEVDDBKT8e4MWQS7DBiC7WlVNyPDqJH32651Ko6YiZKnzZ3sERzgUleRRjUl X7kcw0CPhw+0pofQwresEFwIg3mHcGfd4UTn61hS+39q/ZtX2HfkIrY6T8JnZaagbyN2 CfHAtt2Tu/G2dGH+5tH4XkDlIZTPcVN0HHFseMN6zpBK+ol4w25DeuSTVPxZxGDZx5oQ vkYw== 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 l38si12075363plb.48.2018.12.17.15.14.06; Mon, 17 Dec 2018 15:14:21 -0800 (PST) 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 S2389142AbeLQSno (ORCPT + 99 others); Mon, 17 Dec 2018 13:43:44 -0500 Received: from mga01.intel.com ([192.55.52.88]:37701 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726653AbeLQSnl (ORCPT ); Mon, 17 Dec 2018 13:43:41 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 10:43:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,366,1539673200"; d="scan'208";a="304554684" Received: from quwen-mobl.ccr.corp.intel.com (HELO localhost) ([10.249.254.215]) by fmsmga005.fm.intel.com with ESMTP; 17 Dec 2018 10:43:34 -0800 Date: Mon, 17 Dec 2018 20:43:33 +0200 From: Jarkko Sakkinen To: Sean Christopherson Cc: Dave Hansen , x86@kernel.org, platform-driver-x86@vger.kernel.org, linux-sgx@vger.kernel.org, nhorman@redhat.com, npmccallum@redhat.com, serge.ayoun@intel.com, shay.katz-zamir@intel.com, haitao.huang@linux.intel.com, andriy.shevchenko@linux.intel.com, tglx@linutronix.de, kai.svahn@intel.com, mark.shanahan@intel.com, luto@amacapital.net, Suresh Siddha , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Darren Hart , Andy Shevchenko , "open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)" Subject: Re: [PATCH v17 18/23] platform/x86: Intel SGX driver Message-ID: <20181217184333.GA26920@linux.intel.com> References: <20181116010412.23967-1-jarkko.sakkinen@linux.intel.com> <20181116010412.23967-19-jarkko.sakkinen@linux.intel.com> <7d5cde02-4649-546b-0f03-2d6414bb80b5@intel.com> <20181217180102.GA12560@linux.intel.com> <20181217183613.GD12491@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181217183613.GD12491@linux.intel.com> 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 Mon, Dec 17, 2018 at 10:36:13AM -0800, Sean Christopherson wrote: > I'm pretty sure doing mmget() would result in circular dependencies and > a zombie enclave. In the do_exit() case where a task is abruptly killed: > > - __mmput() is never called because the enclave holds a ref > - sgx_encl_release() is never be called because its VMAs hold refs > - sgx_vma_close() is never called because __mmput()->exit_mmap() is > blocked and the process itself is dead, i.e. won't unmap anything. Right, it does, you are absolutely right. Tried it and removed the commit already. Well, what we came up from your suggestion i.e. setting mm to NULL and checking that is very subtle change and does not have any such circular dependencies. We'll go with that. /Jarkko