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 B0C07C4345F for ; Tue, 16 Apr 2024 18:50:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 30A576B0092; Tue, 16 Apr 2024 14:50:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 292446B0093; Tue, 16 Apr 2024 14:50:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 133ED6B0095; Tue, 16 Apr 2024 14:50:24 -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 EA1516B0092 for ; Tue, 16 Apr 2024 14:50:23 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A863F160BD6 for ; Tue, 16 Apr 2024 18:50:23 +0000 (UTC) X-FDA: 82016285526.27.764AA81 Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) by imf30.hostedemail.com (Postfix) with ESMTP id F22708000B for ; Tue, 16 Apr 2024 18:50:21 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=3N+pDMnL; spf=pass (imf30.hostedemail.com: domain of 3bMgeZgYKCK8hTPcYRVddVaT.RdbaXcjm-bbZkPRZ.dgV@flex--seanjc.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=3bMgeZgYKCK8hTPcYRVddVaT.RdbaXcjm-bbZkPRZ.dgV@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713293422; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=71fCbdfH1vAW84WFTiCdLyvSqDYlBpK8GsY+uanrllo=; b=ZjuMinBs0LMwUzAtppxUWMTv3N+h+VPxcF/N3MwyBFYaMzPHG0/cmE2jz/sV4OEITadrgl rTQAxgwOzcqMq43GEPGMw2pdg15NmlP/5D+nSFeYiiW/atKB0FLM9ERnGipldImaIpiwMa bTxOxrdlAqytrQtcmt+GAQvvoz+B0xE= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=3N+pDMnL; spf=pass (imf30.hostedemail.com: domain of 3bMgeZgYKCK8hTPcYRVddVaT.RdbaXcjm-bbZkPRZ.dgV@flex--seanjc.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=3bMgeZgYKCK8hTPcYRVddVaT.RdbaXcjm-bbZkPRZ.dgV@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713293422; a=rsa-sha256; cv=none; b=715NWc8JUykyJdHxfMleftzZe/b+JSr3K+dguZmTCNpS9JEvlv4z1B5wUujMFzKAf+IJqa 9f9taaOVjGdi5kul/Dl3Y2nGNQ+KjXFL1tCWDMGYTxG3V4Enm+MtKbN4rU3wxFbj2Q25bd 6sjnE+YsvtQ3KpovO8CimcI1IgKbIoE= Received: by mail-yb1-f202.google.com with SMTP id 3f1490d57ef6-dcd94cc48a1so8019208276.3 for ; Tue, 16 Apr 2024 11:50:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1713293421; x=1713898221; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=71fCbdfH1vAW84WFTiCdLyvSqDYlBpK8GsY+uanrllo=; b=3N+pDMnLBOzoEgXs21zdmk3rtVSwA7GoBRJvQCewSDtBIyDCdl2+o50qa9PuLF7yS4 dOf+lil4xJ1oeTTij0dn6wATudQsE9pl9gJe9tMDPET0MIp+t03Xfs7aBV6d8MfGwv42 9YSYYx1ERLW3+OPU0X1KLD+OhxAi2AuDwS45qk/AX84Sy9zR1UnmerS5tLZhMuNo5/J8 VCgYMKvFcoJD9c4JQX4lTnDWNMTCHLl6wNJYUyRl9WR0IiZOy7PHVBVCgYT8not76nlJ d52hqWqiC+OGT0pkkRedjT/QA6AJp57+PHQPeIFUhXgF5lbHNTKWula6uAuU3lLv7pYg hzbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713293421; x=1713898221; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=71fCbdfH1vAW84WFTiCdLyvSqDYlBpK8GsY+uanrllo=; b=BoUlpc5y1LVq7x3o5Jvedrq9uxw1w/9IOmSUtOtUqKx4A2J35xxBQreSlJrqmsD/7a 4pX0ubzXWhjpBYF2VjoPQ0TQvpGfvl+x64tbgOaFiFOJL1M64cD9TOtbfs2JsWAykHD8 fF7BEY5vBrFzAmc3zox6dtFlJmXUPqK4DNQQimOS3q74Byg6CT52PXPsUbTmyYQ3BpEu mPifDwL6IEwY2RtDCFfXXrTpXA92FxbhSJRu5udWfBkaeUgw0Wk/7J/r+lajhjTVc4P/ WXfl63NQlqFl0y6hZpkLce10kGqlh0JVmA+dDmv4NBtFc15NRmaxoRbk/OWNlrrKkIRt qr1Q== X-Forwarded-Encrypted: i=1; AJvYcCV03cX3NyxCCEa2rHSdk+l8svCvU6/RlCm2IVDzWiuxohTR+CJEGT7xou1PqaCijC+mOsvbSN7GQPeDFON1iLh9bQI= X-Gm-Message-State: AOJu0Yz2cmHpz4SvMGCcocVzBAkMbxydF5g+9FrcQxJKvUKO2d97tYCc pVrqnPObNn/raWAgnSifB8AvCKOouXuhxUaZZe2rpVfMjjj9DGg6vTN7jDVaLrP+y/q/T/0WInk +dQ== X-Google-Smtp-Source: AGHT+IHgjpuzWhjz2uabzMwzuba3r3n3pXCUudSHE4FaID0UFJjuojA5qYXAZzXF16Fsmgo1kqxASxbfYuQ= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6902:1081:b0:dc7:8e30:e2e3 with SMTP id v1-20020a056902108100b00dc78e30e2e3mr4217093ybu.2.1713293420969; Tue, 16 Apr 2024 11:50:20 -0700 (PDT) Date: Tue, 16 Apr 2024 11:50:19 -0700 In-Reply-To: Mime-Version: 1.0 References: Message-ID: Subject: Re: [RFC PATCH v5 09/29] KVM: selftests: TDX: Add report_fatal_error test From: Sean Christopherson To: Yan Zhao Cc: Ackerley Tng , sagis@google.com, linux-kselftest@vger.kernel.org, afranji@google.com, erdemaktas@google.com, isaku.yamahata@intel.com, pbonzini@redhat.com, shuah@kernel.org, pgonda@google.com, haibo1.xu@intel.com, chao.p.peng@linux.intel.com, vannapurve@google.com, runanwang@google.com, vipinsh@google.com, jmattson@google.com, dmatlack@google.com, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="us-ascii" X-Stat-Signature: pz5qk8bcmk4qx4w8tusuph394rsp8toq X-Rspamd-Queue-Id: F22708000B X-Rspamd-Server: rspam02 X-Rspam-User: X-HE-Tag: 1713293421-104193 X-HE-Meta: U2FsdGVkX18YaDMtdxIM5VRHIsrYbMoXrhI07n/5UtVCdGLoIys9gciXjU4C97s1c3BJAmJJTyxKS38nERa/Cp5rfe8qZh244mxNZVRgqWdlo/oiDaXg6nsbuIVkSRTDMil1hlda2GyVFM1QMu1fFiql5zPKd7Ah/6PYtav5aI6BbQIgAhQxhhYhZxN3VbCWXFzIvM0w4OQQHY46ZgWOZEgxYJzj4XAJyG2qD/bMl4gWQEtqByu23OAokfJbigr+Wf7Sit30hmPCm1jaGUZ6bmYf4zHbDvaOAi8JSWRtj/6YJW60L4YynPrWWvJj96h2NuzMSSUutM/FeBqJLnbtDQ9NUm8V161EfTNQSutNqsTdcxdmU4799fP6qRyDoFSrT+tUXGXBtOJFak7BYXjnYugByNcXNqTxGS9EezVMeGoHAqZZaPSpKMHGZk8c3ujEJW24BxsqkXdqMP1FJp0/3kpHPTvCLqgbhwonDOzxuN9CrzAeWeMR6F2oR/O5LVl1wzRLa1bog+lpzSPQB5Ih3dLDDjC7PD/jv8NLVO2DJZYRxiw9wwdAtvR27nrFWFubxwm3gnchWnvcQpvXsDp0WK7Eg5ZXeLwEWV33uA52peGtlmIc6jlK1kRhQe2X9TyGGLXZy1Et/qOlCMv1PVWhm0QMfVM5KfALBN3uOm3ejEYd1wPCMbQw27qvH8LB5WTD73M9EfoF6tEaO21s/SSgzzIEvwnxQJYWCgkv44E73v7gsFWI+g9HBdqaj9oDaVCzGS8Bzuds0D6qTXD+XZHXTsr1i0LKycLdZrxL9dxL7LSR2UOp1QdQQbTcVq6UYCj96bxj83dhPgvYcD3bZlj4HtMM6AN3EZjWs/Ygv8oZUYbOUMvX/Yvh/DsWV0OY3SUhHWhjn4R9A6ZtfUidpv6XxRu/inOPSxz+2SE2sd0ldIemRyHYq2WUUZLleP3Af19HQ4axzgkWgaSzuzZmlnV CnTnCPma hkQKvj8mAMSKW/OoTmkreezL7AB8qKfPm5I0WROST1YIZj25CVukgSvexDQCLn29rDfVf1CU86d5qCRiLrBAFILxiXej7V/5HUgEBkjy8BmNBl9X4RSp9KphrsiF038sJXdN5W3OsfkUi1UXSchiocddGCYxx/6m0nB0DZdNWPVvg/CriAsSpF2s0riyS+FxN8ar40IKQ18qhD2twmy2rX6BVou2c4iC1wfYKeYGG6pM4MR0ViJWBzhLPIhfWJOe8Rp2adAdX0ijAwKUVGAeYrw6U5HJoMBmkmdb15HiER8TJueFVDdJEuCiRdGzwiSb/iG9qrL3lyUK+7T+PdolU5JE21RW3JvRo9diL1jCco9h97xzEdfwLqUWtKKxvwgb5JTx4WCl+B6RIFvLugVmICJ8EWy6CZ3iju2nQX6Ndxo3jiNFLerB6ta2yGiaAh4Zqd9CtfL668J+qVZXa94uBO22PlE3K/nbgTcQA8gFk4Vtpjl7EnNC/6AFUyWdD4pX/QIKVAW3IHbINTmB5gOLKFacuw0+WmS/fyCOdPC2bp1gKtgupAo8Qxf3HDPOlWqpV6LNgeU2tMw2SIT5pa5PSWmq9CAdVt2X/+iqZqNCzieTZEbRw/MofSyWI/P4TQRFi3cKzhwXONQDv3v4OQPKu02thukMqbTUZeolg1DCkfkuEBnrVQsSS1i6xE0nGkmaR3jHXdn4G69+wDvh69hrNVCg1Zw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.001398, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Apr 15, 2024, Yan Zhao wrote: > On Mon, Apr 15, 2024 at 08:05:49AM +0000, Ackerley Tng wrote: > > >> The Intel GHCI Spec says in R12, bit 63 is set if the GPA is valid. As a > > > But above "__LINE__" is obviously not a valid GPA. > > > > > > Do you think it's better to check "data_gpa" is with shared bit on and > > > aligned in 4K before setting bit 63? > > > > > > > I read "valid" in the spec to mean that the value in R13 "should be > > considered as useful" or "should be passed on to the host VMM via the > > TDX module", and not so much as in "validated". > > > > We could validate the data_gpa as you suggested to check alignment and > > shared bit, but perhaps that could be a higher-level function that calls > > tdg_vp_vmcall_report_fatal_error()? > > > > If it helps, shall we rename "data_gpa" to "data" for this lower-level, > > generic helper function and remove these two lines > > > > if (data_gpa) > > error_code |= 0x8000000000000000; > > > > A higher-level function could perhaps do the validation as you suggested > > and then set bit 63. > This could be all right. But I'm not sure if it would be a burden for > higher-level function to set bit 63 which is of GHCI details. > > What about adding another "data_gpa_valid" parameter and then test > "data_gpa_valid" rather than test "data_gpa" to set bit 63? Who cares what the GHCI says about validity? The GHCI is a spec for getting random guests to play nice with random hosts. Selftests own both, and the goal of selftests is to test that KVM (and KVM's dependencies) adhere to their relevant specs. And more importantly, KVM is NOT inheriting the GHCI ABI verbatim[*]. So except for the bits and bobs that *KVM* (or the TDX module) gets involved in, just ignore the GHCI (or even deliberately abuse it). To put it differently, use selftests verify *KVM's* ABI and functionality. As it pertains to this thread, while I haven't looked at any of this in detail, I'm guessing that whether or not bit 63 is set is a complete "don't care", i.e. KVM and the TDX Module should pass it through as-is. [*] https://lore.kernel.org/all/Zg18ul8Q4PGQMWam@google.com