From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7FBAAC7EE23 for ; Wed, 7 Jun 2023 19:27:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B4B0C6B0072; Wed, 7 Jun 2023 15:27:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AD34A6B0075; Wed, 7 Jun 2023 15:27:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 974048E0001; Wed, 7 Jun 2023 15:27:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8557E6B0072 for ; Wed, 7 Jun 2023 15:27:40 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4F084404F9 for ; Wed, 7 Jun 2023 19:27:40 +0000 (UTC) X-FDA: 80876936280.30.CB8838D Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by imf15.hostedemail.com (Postfix) with ESMTP id EC20FA000A for ; Wed, 7 Jun 2023 19:27:36 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=A5DwOKut; spf=pass (imf15.hostedemail.com: domain of dave.hansen@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686166058; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=YHhs2PE0C40yUzVkQBwsuBBPK/NAaskO1hw7Y9loEU4=; b=7IftGKXhHfxg/IAO4zT0Wf0Z97dmpo7ITg9XzK6tYMTj87y4xQw2sLorW77XjJIVlWfpBr b4LZzyQFiVwNTPKb5LBr4kkMOI3XcfMLU/uY0im+H9QEzIDBI7w4mOFrCpVbQOnvH1ZyZA R108xRJwqoGw24Qsb15K7fr7eqvVxE0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686166058; a=rsa-sha256; cv=none; b=lW+1itL4b8DImZ8QifLACxhsWeOk/x5PYZPUDmXz4DTfwvP1nUTVAn8Qv4sfnWIiT6MlsZ U+y1QLHWLIrhc2XVnoyn87i0RUzJfv6qeUoKcWKEylP3t8xTtPYeWGuirJkjETitu1laLF ORgJlfFgH4iw7xv1h873ep2c/yhCtoI= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=A5DwOKut; spf=pass (imf15.hostedemail.com: domain of dave.hansen@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686166057; x=1717702057; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=C5/DBo2//H0j7nbciEl3wuHVykl9Cm9+hIV0EICckm4=; b=A5DwOKut9P8vNTXkzRhbhFEfL+18Tc7AvrfSB7DkJwdjG4cJcRkFLCI5 rBUbci8WJqAWWzJcNJAwM68cAtthrHl0cq837kscyLwtXZmXXf/byfD9K PmrysCuumOdbj3dv+ZijLiniJRjosfTCVZDfxwSNHhuuHdmA1hKz6ArCP 4MBF/Xy1oQgPZ0OEM6kcduW64dfS04hcKZRmgcKhRz4GrubpVJy12w1KR /2XGEGkYBHt9cI70l/n+N2RFjG8Rhre/6VR2uyhsdF5QSNyh0wDrwcnBS salIoYvlyv5DfJOQ9rPIAJsKeoY01hSsU24oMz0bYcs8DPaeDXMoIXk2p w==; X-IronPort-AV: E=McAfee;i="6600,9927,10734"; a="385419333" X-IronPort-AV: E=Sophos;i="6.00,225,1681196400"; d="scan'208";a="385419333" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jun 2023 12:27:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10734"; a="712801292" X-IronPort-AV: E=Sophos;i="6.00,225,1681196400"; d="scan'208";a="712801292" Received: from vsmyers-mobl2.amr.corp.intel.com (HELO [10.212.146.233]) ([10.212.146.233]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jun 2023 12:27:33 -0700 Message-ID: Date: Wed, 7 Jun 2023 12:27:33 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH v11 05/20] x86/virt/tdx: Add SEAMCALL infrastructure Content-Language: en-US To: Isaku Yamahata Cc: Kai Huang , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org, kirill.shutemov@linux.intel.com, tony.luck@intel.com, peterz@infradead.org, tglx@linutronix.de, seanjc@google.com, pbonzini@redhat.com, david@redhat.com, dan.j.williams@intel.com, rafael.j.wysocki@intel.com, ying.huang@intel.com, reinette.chatre@intel.com, len.brown@intel.com, ak@linux.intel.com, isaku.yamahata@intel.com, chao.gao@intel.com, sathyanarayanan.kuppuswamy@linux.intel.com, bagasdotme@gmail.com, sagis@google.com, imammedo@redhat.com References: <92e19d74-447f-19e0-d9ec-8a3f12f04927@intel.com> <20230607185355.GH2244082@ls.amr.corp.intel.com> From: Dave Hansen In-Reply-To: <20230607185355.GH2244082@ls.amr.corp.intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: EC20FA000A X-Rspam-User: X-Stat-Signature: knd1p7iopkce5gwt7gfcqugou69gmtbe X-Rspamd-Server: rspam03 X-HE-Tag: 1686166056-825867 X-HE-Meta: U2FsdGVkX19rTh3O0/CwcMOD5sOSPt7HbkO3IYOQ79jxcw25XY31N+fuAed/5ydCewM/qdUeol9A5Mg1akxnFzKtTSWS+k2nbe7U9OVyQTm49VO6tDPX5ZGlMY7LIpSG7a30V5QxpONGY/0uxM9EqBpmqtGLQ4fp1f75KPBn0V/vb4QV6bgalBIdMOvIQsAOsUxleOMRfTCtDm+7Kff04q9uj/9fvLC14n/C4GMJeavnkN/gaS40bOcMPTClgDBueKqqfS6QULvOlnqAHKvdf9kjEQ4Q5l1DYmA87N1MpgNILHsyXM8xJzqTuhJqSD4zvVuQHqZQLAxKxdzH5LOt8uZ5Fo4WA8amQ0JNAINhoEzqcmx6o2DIpvUYNkNZkX8eb+ZbQypH+xjLQsn4ujxT1LM9ILFWCmXPdujPuTBY+B3NxFz/UbqwbaizdznHDjiD6+diofcdlx8gFTf2kADoJaWrs5F/ccVnkhdaVLFvSEYaqG0jJY3ZWV49NvNw55SxqryP/Szs9r1awz/rDnaw8sDsv1xYQW8hp7xfmnteEA9Vps/vy0DCrmFQcXKRDLIF9ONm73rR7xeu+ldP4wC3RBEAfTNUZ8ET7bODGwGvvKcIBKdfsUywpusy9z2qwclCcvfYpUJ+L1NWxbYF5SUhzVIKfAME+IbIREH/sxJJooYjZf+1ZfZTRz7oG1UjefGJkmKs6eiJUfNb9vEN89sS1N2eq5gSXIclxz5grYi/otWbH/Fq0RE+HDqM9g6U9EaRterCf/TR0iMm2WsZo0zZJxaf/bII+70JBmtMCTk/m+XBUKFGAFkMWTNErfOP3mjS04vb8/5u35KCFTHBg+mdUiuJV7KVL4X6gwQxPCve21mFM9kMapLYWnR9t5T9QAFl0DrR+2tyl/3PIoLmFVxOAMUkoJqPxN1NBlkQtbAVgKhSwmHnTufOmgiiVViOLoE3P87LFKJSJK+taxqthR1 zxMHDTcr GfOHNh0BrKrnIeqMbinTUoIC+vZl5DL/6AO1qZH8tV4smlJBroUCTKKTp+BMi4xpf/jStdNdDK/ERmk3s7bvbE2jn3xYpmq3p95t0eDoRgMm9LjAmg+rx+nxAU73PGBlK04f6hDPq+AnV00u5wX23NiinRDTOW2vLdOm7J7ehVhhQhIWF1rBsxRiIKIGkzSeGwoLalg7gsuxe7+UWttjncdQLKA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 6/7/23 11:53, Isaku Yamahata wrote: >>> VMX enabling, and KVM is the only user of TDX. This implementation >>> chooses to make KVM itself responsible for enabling VMX before using >>> TDX and let the rest of the kernel stay blissfully unaware of VMX. >>> >>> The current TDX_MODULE_CALL macro handles neither #GP nor #UD. The >>> kernel would hit Oops if SEAMCALL were mistakenly made w/o enabling VMX >>> first. Architecturally, there is no CPU flag to check whether the CPU >>> is in VMX operation. Also, if a BIOS were buggy, it could still report >>> valid TDX private KeyIDs when TDX actually couldn't be enabled. >> I'm not sure this is a great justification. If the BIOS is lying to the >> OS, we _should_ oops. >> >> How else can this happen other than silly kernel bugs. It's OK to oops >> in the face of silly kernel bugs. > TDX KVM + reboot can hit #UD. On reboot, VMX is disabled (VMXOFF) via > syscore.shutdown callback. However, guest TD can be still running to issue > SEAMCALL resulting in #UD. > > Or we can postpone the change and make the TDX KVM patch series carry a patch > for it. How does the existing KVM use of VMLAUNCH/VMRESUME avoid that problem?