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 B37C4C61DB3 for ; Fri, 13 Jan 2023 14:34:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E8C78E0002; Fri, 13 Jan 2023 09:34:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3712C8E0001; Fri, 13 Jan 2023 09:34:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 23A0B8E0002; Fri, 13 Jan 2023 09:34:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0E57C8E0001 for ; Fri, 13 Jan 2023 09:34:41 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id DCFE2AB1A1 for ; Fri, 13 Jan 2023 14:34:40 +0000 (UTC) X-FDA: 80350021920.19.2BE3EA9 Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197]) by imf03.hostedemail.com (Postfix) with ESMTP id AAD6F20015 for ; Fri, 13 Jan 2023 14:34:38 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=alien8.de header.s=dkim header.b=ez7twyV8; dmarc=pass (policy=none) header.from=alien8.de; spf=pass (imf03.hostedemail.com: domain of bp@alien8.de designates 5.9.137.197 as permitted sender) smtp.mailfrom=bp@alien8.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673620479; 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=Tupfp8exSpQ4RbZCFKZqWdQOqhq4P6GGAsJ+a2D0UiA=; b=KTP6ijTmj/FUEgLYhsXc13BvlPRlVNr53Rl2oAA/ji7cxXicwEc6t53617auQPipMRh7up zdHiViC7vdLTalyg6JLAo/aKH29IxHLzdOuX543XrSBAH0Tg2s9rBr/HT/HecfDiSCi8P0 xuCY5VGxtF+zfC1LkIzyTGf0eXNJyW4= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=alien8.de header.s=dkim header.b=ez7twyV8; dmarc=pass (policy=none) header.from=alien8.de; spf=pass (imf03.hostedemail.com: domain of bp@alien8.de designates 5.9.137.197 as permitted sender) smtp.mailfrom=bp@alien8.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673620479; a=rsa-sha256; cv=none; b=23G9DNZAr+XR/O18o6SpJQfuhvTNyF4O6uCDhoRWWzPSpSzr1AE6s140rO6d+mN0mp40RI EnpkwPGa7TwxTBE4JnFz1PD+VkBVXgE/YdBorLY/FkTqU8ylackEUXKLrP5+m/obYsIRyk qI5Id3EhVIhvAo7WjciZ9S2WCWEO4pk= Received: from zn.tnic (p5de8e9fe.dip0.t-ipconnect.de [93.232.233.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id DFD041EC06EE; Fri, 13 Jan 2023 15:34:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim; t=1673620476; h=from:from: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; bh=Tupfp8exSpQ4RbZCFKZqWdQOqhq4P6GGAsJ+a2D0UiA=; b=ez7twyV8r/e81WS/tbD53J8+AErW3z0qB4278JGKImv1VqOOCl1mPfVpOFxrRJ28COpxQh Dv1Gq7oYynLuj2xK9oaktn6HgMReadvqdPvF6eFjiLTcuQhSsMnFEKro/KuoY1OpfH1HFh wAglyU90GKfDGW7vcQmeT3ce5DqinWQ= Date: Fri, 13 Jan 2023 15:34:36 +0100 From: Borislav Petkov To: Michael Roth Cc: kvm@vger.kernel.org, linux-coco@lists.linux.dev, linux-mm@kvack.org, linux-crypto@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, tglx@linutronix.de, mingo@redhat.com, jroedel@suse.de, thomas.lendacky@amd.com, hpa@zytor.com, ardb@kernel.org, pbonzini@redhat.com, seanjc@google.com, vkuznets@redhat.com, wanpengli@tencent.com, jmattson@google.com, luto@kernel.org, dave.hansen@linux.intel.com, slp@redhat.com, pgonda@google.com, peterz@infradead.org, srinivas.pandruvada@linux.intel.com, rientjes@google.com, dovmurik@linux.ibm.com, tobin@ibm.com, vbabka@suse.cz, kirill@shutemov.name, ak@linux.intel.com, tony.luck@intel.com, marcorr@google.com, sathyanarayanan.kuppuswamy@linux.intel.com, alpergun@google.com, dgilbert@redhat.com, jarkko@kernel.org, ashish.kalra@amd.com, harald@profian.com Subject: Re: [PATCH RFC v7 04/64] KVM: x86: Add 'fault_is_private' x86 op Message-ID: References: <20221214194056.161492-1-michael.roth@amd.com> <20221214194056.161492-5-michael.roth@amd.com> <20230105024256.ptujtjgzcdmpakoa@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230105024256.ptujtjgzcdmpakoa@amd.com> X-Rspamd-Queue-Id: AAD6F20015 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: m94gz87ao41a3xprjorybrfg3348m7bz X-HE-Tag: 1673620478-740717 X-HE-Meta: U2FsdGVkX183A8mq1OqWeIzfub7RJ5VudWK+51cpp0lGCQEFLu1EbmWRNb4wYYbVn7FRA0CKlNwTwvy17jhYZliECFuXHcxJfAe/cBs0zQhqvCQZ50PEh3Z/WkHCbtj7knNO8BRW+D5xINk4yPNR4ee4s0j30YoeNqlUqfO1kS9PBe8jh10+AavL0nJ+txRUwXcdEFoztS0ssdiLmJ+wGcA3keVPWVjyINCgxFQ/ujjetfpJkaeTJwMZJvMfny9ny2s4XSy+Y/jYMowID0F1TmNpKso0k9hEqWlf8LEcfKRX5Oe09K8wQzhQ1+9mXh2b1NednJJh6irPwfw5c1v+e7R7Gho/jjGfxJR9Xo18QDGkbLPM18lv3O8lh6xfKtDPoZf5pb5Opo8y+YFBUV7uEwyKCAGSjFELr2rxdjYKPtFORbOtRMR0eW3PMXvYgxEAdMx+G1kwYorXChy+dEJpRvpiDsdlJsGM8tvADE3BMmpR39HMyM+cekpQ8FBPZ1SWuom5Hn08sOkSjnUuNYZPAxvW6wkRUyWwagP/STFO3jkHYXcjq/0GOaR0+QbWsfgTvunva9wddFDtYXG/xAEcKkq2gfPmZXDVUtSH9QpACRfmLxxSa67E7smlM70bgGXY9VxiJSlumKzOymd/c8yeapvHacRNTGYfBFxLg8oozq9tOjXS1VI9tr5OJVhHgqf50+aXlz5fvPBXARgtd0+SkiAOj30vlZ/mljEcXaQDdbNbeM5AAkWWkTugXy83081cWZmiUNK8lPwQuoo1DHoP//ot+sYSuAIq3YdgNTLrEKECdwfR+nvbmvHWcTQikQyg0ZpUwZ0/tExqSGwVKdgvAqE/7LCzpVHYx3juVxVGXaVqPqpEpsFhMKoihSxdfTIIYVkIhWC0R6x1G8pGCGBD3Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Jan 04, 2023 at 08:42:56PM -0600, Michael Roth wrote: > Obviously I need to add some proper documentation for this, but a 1 > return basically means 'private_fault' pass-by-ref arg has been set > with the appropriate value, whereas 0 means "there's no platform-specific > handling for this, so if you have some generic way to determine this > then use that instead". Still binary, tho, and can be bool, right? I.e., you can just as well do: if (static_call(kvm_x86_fault_is_private)(kvm, gpa, err, &private_fault)) goto out; at the call site. > This is mainly to handle CONFIG_HAVE_KVM_PRIVATE_MEM_TESTING, which > just parrots whatever kvm_mem_is_private() returns to support running > KVM selftests without needed hardware/platform support. If we don't > take care to skip this check where the above fault_is_private() hook > returns 1, then it ends up breaking SNP in cases where the kernel has > been compiled with CONFIG_HAVE_KVM_PRIVATE_MEM_TESTING, since SNP > relies on the page fault flags to make this determination, not > kvm_mem_is_private(), which normally only tracks the memory attributes > set by userspace via KVM_SET_MEMORY_ATTRIBUTES ioctl. Some of that explanation belongs into the commit message, which is a bit lacking... -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette