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 16059C7EE23 for ; Wed, 1 Mar 2023 21:23:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8598A6B0078; Wed, 1 Mar 2023 16:23:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 809996B007B; Wed, 1 Mar 2023 16:23:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6D17E6B007D; Wed, 1 Mar 2023 16:23:12 -0500 (EST) 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 5D4FF6B0078 for ; Wed, 1 Mar 2023 16:23:12 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 3A6341C5F6F for ; Wed, 1 Mar 2023 21:23:12 +0000 (UTC) X-FDA: 80521605024.21.416D0FB Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) by imf24.hostedemail.com (Postfix) with ESMTP id 375BD180005 for ; Wed, 1 Mar 2023 21:23:09 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=U8CpE6oQ; spf=pass (imf24.hostedemail.com: domain of zhi.wang.linux@gmail.com designates 209.85.167.49 as permitted sender) smtp.mailfrom=zhi.wang.linux@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677705790; 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=5FeJ+IDtaGU0Dng3JPzlo8N148iZPjSnDaT2NDjs7iw=; b=1r3neSwdqG++ZBQvCEp2r5uKV/jaegO73ERFxobYnPQLMjOsMfQ4aHwjm6Uu9ucXFP17Hb l4aE0QNoI92dGs7oIH5lIfVmarq0mlPdk4fA6SgRmbGfW+NEfEc1Yc4VXxS7INcme3gT1y dDv50+Tn+WND9jqJ9rQVJ7V3Z+gvxVY= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=U8CpE6oQ; spf=pass (imf24.hostedemail.com: domain of zhi.wang.linux@gmail.com designates 209.85.167.49 as permitted sender) smtp.mailfrom=zhi.wang.linux@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677705790; a=rsa-sha256; cv=none; b=qrZ2/LONl49zp6fAZLwRSqjWZEfJlVcnBLyU1QXVBnV/7pMrPw2T/645Q15chvEfER1qCk CKyrbVnLJqwwUcSAsYv5o5/TEhTaVF13wuhOoVmLbf5WJmcOxpVc4y6dNWcQRvB/C4wZX+ XMaKw1uH3tQ5kHNCgtUown1A+ZsaQ8M= Received: by mail-lf1-f49.google.com with SMTP id i28so6761873lfv.0 for ; Wed, 01 Mar 2023 13:23:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677705788; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:date:from:from:to:cc:subject:date :message-id:reply-to; bh=5FeJ+IDtaGU0Dng3JPzlo8N148iZPjSnDaT2NDjs7iw=; b=U8CpE6oQW0T0yL/b9SkOw8+im0wm0VFjDpBzKhqnbc90OvihHMA8b3Swuuy9QqpKMe M+zFCU5cpADOmoJbYfb0etx9J0WIpBgFCtv13HBtqqQWPUMRzvD540wG5oR1npPqHhcs XHdM9ObzYlw1GwwKb7RGDEgk3dCUQEgEg9hPh05KETDEJcy5nuIlhCM5Lvuof3p6zEMM NO6CZHki9sKwqzWnZRUdOQT9s+Pa0Atf+qamboT7QHXS+kvTpz7o11xBU8WEkEMRHhns OdzCe5cUufbtOfHlr/uaxn2eo3wfc57z+O/pojBy519Ra4o7lNhCJF1hAKcXPmnI3qrF k7Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677705788; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5FeJ+IDtaGU0Dng3JPzlo8N148iZPjSnDaT2NDjs7iw=; b=thHesPLgouPRvDMNJGzysFwWV72ovM7aBjzXl+ZRnXePYOdEbk6iFYQkdGVK1/c/M6 5jcLodPjaOcLQaMltsNqlh8vaX7e8aP/s+r9CwQZUAU29E4DM8i01BzIOuE+/n5rh60u 1dwz4Q7gXAptEm6PGmWe8N3ToM362Az6AfJppSXAskubif07emQjboabwNWkF9txpbma miLsIypCKAIyZAlf5wyc5zMcjIvM2WeXAapIKlWTtrbdnvID75xB0jCmc6IRg3rB7jhB bJ10FAlUzz8O0oLOqcatZYwPBJlNGurdWajeT8wcnAS8nIlf5Hx4jM27hCh/z5ZaNsiz AVLA== X-Gm-Message-State: AO0yUKXgYofDjIm6RGJKBf+0PbhNUu2LKLhKReFufK1M3GkS6Ro/ybwv hAdNBKZIHhBnsLT1MAhCbpI= X-Google-Smtp-Source: AK7set9Husvr/raZBgcJeLI0L1kUHYIjgMkrgLJmOKKElIcO7WhwF5Z9WCFNJJAEq103LkvXE98QNg== X-Received: by 2002:ac2:44a9:0:b0:4d2:c70a:fe0a with SMTP id c9-20020ac244a9000000b004d2c70afe0amr1752508lfm.2.1677705788430; Wed, 01 Mar 2023 13:23:08 -0800 (PST) Received: from localhost (88-115-161-74.elisa-laajakaista.fi. [88.115.161.74]) by smtp.gmail.com with ESMTPSA id p3-20020a19f003000000b004db2bda9527sm1858821lfc.121.2023.03.01.13.23.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Mar 2023 13:23:08 -0800 (PST) From: Zhi Wang X-Google-Original-From: Zhi Wang Date: Wed, 1 Mar 2023 23:23:06 +0200 To: Michael Roth Cc: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH RFC v8 53/56] KVM: SVM: Make VMSAVE target area memory allocation SNP safe Message-ID: <20230301232306.00005f86@intel.com> In-Reply-To: <20230220183847.59159-54-michael.roth@amd.com> References: <20230220183847.59159-1-michael.roth@amd.com> <20230220183847.59159-54-michael.roth@amd.com> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; x86_64-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 375BD180005 X-Rspam-User: X-Stat-Signature: rnpxoqdbgwizu91rh78sf4xdrdw1sjmp X-HE-Tag: 1677705789-121545 X-HE-Meta: U2FsdGVkX186Yv+taCOgW0h+CPL01jmz++1HXJQzOQdcB+Bi3ady0u0KDw0onYOm+kdb8GKkhLVEp8vf6AbL5vkJe5E5mMiL6EfAWVpNDqrKD0xFjDOIylXL2+eON5XqOzPSS3WhhjBGKpvKP8mRGE/BH4UHPpmK5dwSjvsA9ze/2cWZwWwVITqoAeangQF0RuTBna5nnwDS/o7TKko2ZNBtyh2AWeQwelBq6+ZV3cAyvAKF6ORnAN6hOkepZ9ZqI6YYBTZVx3B7PyJmcxUMxK8df6JVoXFoN9DUxU15Pm1TncwVKIqwWBNG6hXaiCrMqMyX1sgvoC4T4s+7IawLFI3t3tJOffjbK02GDO1n8JrUafvIKuhVZrwpy2B6JsRnNDBzLBAVAmX6/hcWuAvw5xcb3sB3sIeTBTBLKCx5/jjxzaQ3BNn/WkToL2orNhkrlMSH2W0P7rKV3WTTF9UQzg6vAkxW7YH7CdbtrImpyY+3jEgaWXrt9P7xqibi5L2LSZD9JroqzhU2+mis5QonwE0+ZuCASLQfJw49cNbG5O/RJj7UpEGERQjQG+517V67s2Yv9b9QnCL+BTYKAS0HxxmGIUzXJ6CF/UDX5Vp7XcXaAOaKj7PKVghZv7rcb8eCQiHADTmCdv+CPmBoX44U4reBnobi3UQOh1iCjG27RqB7YMqCrtlcxIyQXtLvtWMsCFatlXPWWbgEn1Dp1YHkSMLQb/GGWUtp6GTMfYSl/FxD3MtPRjSIleThu3gLKeW2ChIHeLEMdcUmDIGlbyGAMBm+o2mE1JTxOi7bDk5rNFboFCaE+gItzgySYbMfqI3mELWPjWJ70MDDcZ2tsNyUAiBflhMTRjZtXOG4GDtpOfB9GS4xmPmNwVQFtWZB7ImRrCVa1+AsNGTwOT35bqsHfoy6l2sglxTn3vfSuC0ijIfKYHtsDz77EZRsyNB6+cNlg5hKHLJRrfLCnLjVH89 S4UibsTL Dw4sCZ5bKXB6pdcd7Va4TWez8Q15Ow7zhGbSXibwQDOXHSOmvLN4V7c9Gb0LxCzf9QqXFzW0orlAQ1gJ9NEToKq7ovjaon3AO9vv0fjMz6fXfxo4qd1p2+RYzcKN4FvvIGk8bppMx2P2Q8cogNgmbP1+4+6nXBoxTrymPv+QabldWXVmuijHwL++HtJ35dffwu/9hbd0yPETfXWqHzG/Raz5hy5uQQHMrwE0nSijO7vxZhLVY1EZDIc/OO3dcF0yTZBoc761wW40+nSynHaQaRtW1fKu40VJ56NK0sdIiWMv8bWKATbW6Ya1T84t6NiOIuMGx6DMfJPOBHozQj1XDUr2cwL65SEWTznVQDULLAopUNHYivuQQB85P2p7ol89ta1coILDfTorORpvJqPHa8ugIhm1pOqLsB/x/nv4bhD3joUE2TrlIG11mO7fsQA3vZdEfbpN+HPUT2hkyXuaexveZukDjmg5OWnmdPYfP1FZEZSY= 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 Mon, 20 Feb 2023 12:38:44 -0600 Michael Roth wrote: > From: Ashish Kalra > > Implement a workaround for an SNP erratum where the CPU will incorrectly > signal an RMP violation #PF if a hugepage (2mb or 1gb) collides with the > RMP entry of the VMSAVE target page. > > When SEV-SNP is globally enabled, the CPU marks the VMSAVE target page > as "InUse" while the VMSAVE instruction is executing. If another > CPU writes to a different page in the same 2MB region while the VMSAVE > is executing, the CPU will throw an RMP violation #PF. > > Use the snp safe generic allocator for allocating the VMSA target > page which will ensure that the page returned is not a hugepage, as it > is already being used for the allocating the VMCB, VMSA and AVIC backing > page. > This should be merged with patch where implements the snp_safe_alloc_page(). > Co-developed-by: Marc Orr > Signed-off-by: Marc Orr > Reported-by: Alper Gun > Signed-off-by: Ashish Kalra > Signed-off-by: Michael Roth > --- > arch/x86/kvm/svm/svm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index 3fe5f13b5f3a..8bda31a61757 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -665,7 +665,7 @@ static int svm_cpu_init(int cpu) > int ret = -ENOMEM; > > memset(sd, 0, sizeof(struct svm_cpu_data)); > - sd->save_area = alloc_page(GFP_KERNEL | __GFP_ZERO); > + sd->save_area = snp_safe_alloc_page(NULL); > if (!sd->save_area) > return ret; >