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 A9B7AC4345F for ; Tue, 16 Apr 2024 11:53:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC3736B0083; Tue, 16 Apr 2024 07:53:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D71BB6B0085; Tue, 16 Apr 2024 07:53:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C124A6B0087; Tue, 16 Apr 2024 07:53:46 -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 A335A6B0083 for ; Tue, 16 Apr 2024 07:53:46 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 58FA3809E5 for ; Tue, 16 Apr 2024 11:53:46 +0000 (UTC) X-FDA: 82015235652.08.34CCD3A Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf07.hostedemail.com (Postfix) with ESMTP id F05ED40014 for ; Tue, 16 Apr 2024 11:53:42 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=VX+snQMZ; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf07.hostedemail.com: domain of pbonzini@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=pbonzini@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713268424; 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=/Ux9rBA1E+x/XqOx1Zfa/TZpS8q2CNQskPcvct4f8Ic=; b=hu0BtK3h9x3XjrbEoITMyCUyqdZAFVxUwoxfHK2aT263JM0K/VD5nald/EE3Z5r0blaz4M YuQK3oI1X8fnTKH1/w5nNjKqfPq8If0oAWNF4eKVEaQr3kRrsLipOVWs2fkWS4xnQsmh7U 9+Ft5YRQab3YUocgVtYKKRlvhcttOfg= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=VX+snQMZ; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf07.hostedemail.com: domain of pbonzini@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=pbonzini@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713268424; a=rsa-sha256; cv=none; b=GClNnF51e2U4sZdXxdTR/XNrZ37jTU2eO9xEaMICPqVdpokyKryE6mB8YYCwrruiUK7IWD m/eJgEIK4UAQdJmNFyavzNUtIe1JdHl3zTJu245zg5Mb0HVXtTUSLOWVFfYYb6FdRbmDW/ +zGeW9GfnPg947044a5NP2knIBygfH0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1713268422; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/Ux9rBA1E+x/XqOx1Zfa/TZpS8q2CNQskPcvct4f8Ic=; b=VX+snQMZLVL+KbodPPfzD1tzycKpMLyNo1iGa5MjhTorw8EPNrkCk6mIyaR/ZNSubBnbGe fybqYooMg68GW2THGg4bKB/gC+tZbkClrSXCcKAE/li5xBxuEhikm9WFsDFSClS8SgPwQY LuqT9mrHQXQN/2Bj8ZIVpoFt/sZnqjo= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-104-SLK6kCSlOZuPsLPm5pyKQw-1; Tue, 16 Apr 2024 07:53:37 -0400 X-MC-Unique: SLK6kCSlOZuPsLPm5pyKQw-1 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-343c8e87a74so3091086f8f.0 for ; Tue, 16 Apr 2024 04:53:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713268416; x=1713873216; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/Ux9rBA1E+x/XqOx1Zfa/TZpS8q2CNQskPcvct4f8Ic=; b=WOV6kOkfTj/R4sgOME6oID07tG1nkXQBO87iZWCFvroc7fDPAF+8f4LUvJmS4cW/7H sNCFATq1fO232cSdJeMf+f/NtMUkdTf5bIZEWH6PY10DrsuQdbUm+kmnmHyY0959Jng+ Q48mG7gRLpGORGzyzh/oLvau33Y3F94u0S+byCid21HPYXTudAt5tfxlj5b6SbnhSwZT 55VvhaNIcJHyjqUbxMLlvHkIXZKCv/JSVYkaJWrNkEVE48GLmEhNLg0xwBjIHWrHvTGZ wrvO/12vPkPnCTEFEkCYMJT73QSX1lxZH/MTR4A/IpGV/p10y3kH50NU0wDfw4UzsAYM zZIw== X-Forwarded-Encrypted: i=1; AJvYcCWwcGJtnNaRlsM4u8cQW1mFS9QmtvqVATReMeV/CK6KHhNaMj962WJ1AHfwFUXZs57e3pOZIciRuju0RwCousTG4Vg= X-Gm-Message-State: AOJu0Yz0g0MAY2d9mmXLEu0AxgU/o/1VyKsun2kWRr5W6uRmML2eft78 x6pQQc67wr0XwcBUmuDF/roC+MCc9R9KxJcpHfRLPkxz69cuu2IuMVDvhCH5IyzOGBXv9Er/MFf mbJX16EgBL+TDT6Ick/+k0DSE1iBLHxhWCYQ7cMKm6iKEZ4LwoPeXbq2+QZBGZIG5XV4pn0Ab7Y Xq7XpBcXEQLPHAiROY4QcptWw= X-Received: by 2002:adf:cd11:0:b0:348:b435:2736 with SMTP id w17-20020adfcd11000000b00348b4352736mr1845190wrm.51.1713268416628; Tue, 16 Apr 2024 04:53:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHboei6CWQ68/kX4VWiS3hHyg54DT0hUEvoN+DvTUse7RMopQtT/6X8ZHkV5bkVVsxqb/R4glDVv0DZOX9sF8E= X-Received: by 2002:adf:cd11:0:b0:348:b435:2736 with SMTP id w17-20020adfcd11000000b00348b4352736mr1845167wrm.51.1713268416287; Tue, 16 Apr 2024 04:53:36 -0700 (PDT) MIME-Version: 1.0 References: <20240329225835.400662-1-michael.roth@amd.com> <20240329225835.400662-19-michael.roth@amd.com> <67685ec7-ca61-43f1-8ecd-120ec137e93a@redhat.com> In-Reply-To: <67685ec7-ca61-43f1-8ecd-120ec137e93a@redhat.com> From: Paolo Bonzini Date: Tue, 16 Apr 2024 13:53:24 +0200 Message-ID: Subject: Re: [PATCH v12 18/29] KVM: SEV: Use a VMSA physical address variable for populating VMCB To: Michael Roth , kvm@vger.kernel.org Cc: 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, seanjc@google.com, vkuznets@redhat.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, bp@alien8.de, vbabka@suse.cz, kirill@shutemov.name, ak@linux.intel.com, tony.luck@intel.com, sathyanarayanan.kuppuswamy@linux.intel.com, alpergun@google.com, jarkko@kernel.org, ashish.kalra@amd.com, nikunj.dadhania@amd.com, pankaj.gupta@amd.com, liam.merwick@oracle.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: F05ED40014 X-Stat-Signature: z6zugnhymkqjfuyp896i38kp7krah6dm X-Rspam-User: X-HE-Tag: 1713268422-527979 X-HE-Meta: U2FsdGVkX1/UiH+z8BpoitHvshTbvjX8uyPbuGC/GbDK/YnesCzJVSRJWOx1xas02ZLewDrGl9qNMLDmvYSRLosBiAIat7JSNWDNBoDZVd+qkh7hrDlpNZdh2+tpmyy47ocH4hRBEZcZjBhDN/KwfQuZqKzuzpUscCN3ftwbyq1bYZE0TeV+uFI/VwHelHL7dk/8NWXvKBR1gZSv48TbSV7wzabvbA9Hyz8Y3q/TobgMLW/Qv2VRPtmNA/eDyKIEP0BaCVNKQyfW+mbpMmR+5FgTv2JUiyYOiuS/8Knu0OMw3eyks/XZrixzfeCp4yGxn9V8vJX3/0aiXBPSmd/3vHJLDfG+b1iGoVxwdZEXr6Aytpdh427PV4cTAfEafCUZcOqMn/NiafVyu+okQAHzEPeXZO69Neipj95FSaw5ypOGyfXjL0vMPPvVVmsjCw7bdEOZNeRU/WTys2kf1lvwymbRdw4eWqGm7p5Sb1GrTJZZ58N72BiUuFOSsXBVA3+ub5vaishgYbDAdgSXWo168TTutHS084RoS/X3d3mHYef67jIsFY0pgm8xuIYG2IDkX1kWcjFro/ekUE8xqCJQ1rgK5NQSVOK9N/IaGuBW/rH1oQpDKFSaEzFKLa+dRKQwTb5fRIk9zl/ELO3DGniYWqRtSRfuLTHqSbScXoOKKOTSeHC8K4jfutPQzK4xd6zw7Vpb0Dod2OV38MC6odr+mhd7FE3BwC08jeUE6G7N1w4tmiIANOPx2xp2bbienhNS54WXXI/T5dAZId2Ea0Nj8rN+dFDTQcSIO4+ADg9qgDa1BV814LU2lgNeQ3NWUpumUuIRyQY3fA7CFV0/yiV1v3QFTtGjMpdNeZU5g5KRUTok8je324Oj9y16nvbk0RSA8kMQ/o3mhRawV++fVEdLp9Ti2JDj7fy7cJc93evE4nRgiypREiQQvb6hD8QaU6d87mkjDMjbI1PZ5YEDq/J rXhsunx3 84/kHKgaAVTP1Vh8KO0XJ3MrhHXCHOO302leTiZBsdPUIWF9WuN0O4JK+vflFXbsE1p41 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: List-Subscribe: List-Unsubscribe: On Sat, Mar 30, 2024 at 10:01=E2=80=AFPM Paolo Bonzini wrote: > > On 3/29/24 23:58, Michael Roth wrote: > > From: Tom Lendacky > > > > In preparation to support SEV-SNP AP Creation, use a variable that hold= s > > the VMSA physical address rather than converting the virtual address. > > This will allow SEV-SNP AP Creation to set the new physical address tha= t > > will be used should the vCPU reset path be taken. > > > > Signed-off-by: Tom Lendacky > > Signed-off-by: Ashish Kalra > > Signed-off-by: Michael Roth > > --- > > I'll get back to this one after Easter, but it looks like Sean had some > objections at https://lore.kernel.org/lkml/ZeCqnq7dLcJI41O9@google.com/. So IIUC the gist of the solution here would be to replace /* Use the new VMSA */ svm->sev_es.vmsa_pa =3D pfn_to_hpa(pfn); svm->vmcb->control.vmsa_pa =3D svm->sev_es.vmsa_pa; with something like /* Use the new VMSA */ __free_page(virt_to_page(svm->sev_es.vmsa)); svm->sev_es.vmsa =3D pfn_to_kaddr(pfn); svm->vmcb->control.vmsa_pa =3D __pa(svm->sev_es.vmsa); and wrap the __free_page() in sev_free_vcpu() with "if (!svm->sev_es.snp_ap_create)". This should remove the need for svm->sev_es.vmsa_pa. It is always equal to svm->vmcb->control.vmsa_pa anyway. Also, it's possible to remove /* * gmem pages aren't currently migratable, but if this ever * changes then care should be taken to ensure * svm->sev_es.vmsa_pa is pinned through some other means. */ kvm_release_pfn_clean(pfn); if sev_free_vcpu() does if (svm->sev_es.snp_ap_create) { __free_page(virt_to_page(svm->sev_es.vmsa)); } else { put_page(virt_to_page(svm->sev_es.vmsa)); } and while at it, please reverse the polarity of snp_ap_create and rename it to snp_ap_created. Paolo