From nobody Mon Feb 9 23:00:36 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+72361+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+72361+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1614718148; cv=none; d=zohomail.com; s=zohoarc; b=YwO8CHI96d+Mo80omTL8tOqydlfxb4SSBSpGgxvy9Cn7UDcWX4U3CJGP5eE4XM3foaWKLOCg7KneR2sXnLHXFYtFQNpx2sUzCfhI8Fi0OlF2rt5njQ+VBEaOarovsrdt+B5r1SZi7qmbC2SNR+RszE8WfuLGUc9MnvEuDfPvoEs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614718148; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=qAM49d9C7UUtSePltssei6HXArIkpyvQSf8Bw8lJEU0=; b=A7aFrxj2IllrZlnaJoi3D1hbNcM+Acp28Ifz3xj1mc67YOfvNf0fmo9ZAvqYAnP7PRej/1fTLr196wkgmNG9a22LxirAsOxNFBdhPlcKQaIKd580h8irm9LGT/zK93liquQBizCHQEA5VAHNzZZtU7yuWo/vQeUFqUffKKWfa1w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+72361+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1614718148911972.5822050904231; Tue, 2 Mar 2021 12:49:08 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id KfZFYY1788612xek2ZUM6xIT; Tue, 02 Mar 2021 12:49:08 -0800 X-Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by mx.groups.io with SMTP id smtpd.web12.451.1614718140265823377 for ; Tue, 02 Mar 2021 12:49:00 -0800 X-Received: from pps.filterd (m0098417.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 122KhK6T167291; Tue, 2 Mar 2021 15:48:58 -0500 X-Received: from ppma01dal.us.ibm.com (83.d6.3fa9.ip4.static.sl-reverse.com [169.63.214.131]) by mx0a-001b2d01.pphosted.com with ESMTP id 371vn488g2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 02 Mar 2021 15:48:57 -0500 X-Received: from pps.filterd (ppma01dal.us.ibm.com [127.0.0.1]) by ppma01dal.us.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 122Kkpx4028077; Tue, 2 Mar 2021 20:48:56 GMT X-Received: from b03cxnp08025.gho.boulder.ibm.com (b03cxnp08025.gho.boulder.ibm.com [9.17.130.17]) by ppma01dal.us.ibm.com with ESMTP id 371qmuagy4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 02 Mar 2021 20:48:56 +0000 X-Received: from b03ledav006.gho.boulder.ibm.com (b03ledav006.gho.boulder.ibm.com [9.17.130.237]) by b03cxnp08025.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 122KmsBG29098478 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 2 Mar 2021 20:48:54 GMT X-Received: from b03ledav006.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 57B5FC6057; Tue, 2 Mar 2021 20:48:54 +0000 (GMT) X-Received: from b03ledav006.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C3947C6055; Tue, 2 Mar 2021 20:48:53 +0000 (GMT) X-Received: from amdrome1.watson.ibm.com (unknown [9.2.130.16]) by b03ledav006.gho.boulder.ibm.com (Postfix) with ESMTP; Tue, 2 Mar 2021 20:48:53 +0000 (GMT) From: "Tobin Feldman-Fitzthum" To: devel@edk2.groups.io Cc: Dov Murik , Tobin Feldman-Fitzthum , Tobin Feldman-Fitzthum , James Bottomley , Hubertus Franke , Brijesh Singh , Ashish Kalra , Jon Grimm , Tom Lendacky Subject: [edk2-devel] [RFC PATCH 12/14] OvmfPkg/AmdSev: Don't overwrite mailbox or pagetables Date: Tue, 2 Mar 2021 15:48:37 -0500 Message-Id: <20210302204839.82042-13-tobin@linux.ibm.com> In-Reply-To: <20210302204839.82042-1-tobin@linux.ibm.com> References: <20210302204839.82042-1-tobin@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,tobin@linux.ibm.com X-Gm-Message-State: bGIqBNx6v0DDzSB1eqAWcyB3x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1614718148; bh=4wJKd36dinSrAyYSOYd0LoKDdlhpVSyzJnMvpz4QfZY=; h=Cc:Date:From:Reply-To:Subject:To; b=EwCcNxViNiU5h7A8B6hICaVDlzVCL6zYxMlz6r87iTvDrDfgyELbdB5V+gfUO5A/vUg 8rhtlRPhRaODg78ZyX02EyEkLQyzLzxLBy10EnKiapOxyKj3ZPY5OyzNCAzJneYgCwacg ufC4Gp+rKkv3z7eQvJSUoTKsn+xpyAB7dLQ= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" While restoring pages, the MH should avoid overwriting its pagetables or the mailbox it uses to communicate with the HV. Signed-off-by: Tobin Feldman-Fitzthum --- .../ConfidentialMigrationDxe.c | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/AmdSev/ConfidentialMigration/ConfidentialMigrationDxe.= c b/OvmfPkg/AmdSev/ConfidentialMigration/ConfidentialMigrationDxe.c index 3df3b09732..f609e16f8d 100644 --- a/OvmfPkg/AmdSev/ConfidentialMigration/ConfidentialMigrationDxe.c +++ b/OvmfPkg/AmdSev/ConfidentialMigration/ConfidentialMigrationDxe.c @@ -128,6 +128,10 @@ MigrationHandlerMain ( IN OUT VOID *Buffer ) { + UINT64 mailbox_start; + UINT64 mailbox_end; + UINT64 pagetable_start; + UINT64 pagetable_end; UINT64 params_base; MH_COMMAND_PARAMETERS *params; VOID *page_va; @@ -139,10 +143,16 @@ MigrationHandlerMain ( // // Shared pages must be offset by UNENC_VIRT_ADDR_BASE. // - params_base =3D PcdGet32 (PcdConfidentialMigrationMailboxBase) + UNENC_V= IRT_ADDR_BASE; + mailbox_start =3D PcdGet32 (PcdConfidentialMigrationMailboxBase); + params_base =3D mailbox_start + UNENC_VIRT_ADDR_BASE; params =3D (VOID *)params_base; page_va =3D (VOID *)params_base + 0x1000; =20 + mailbox_end =3D mailbox_start + 2 * EFI_PAGE_SIZE; + + pagetable_start =3D mMigrationHelperPageTables; + pagetable_end =3D pagetable_start + 11 * EFI_PAGE_SIZE; + DisableInterrupts(); params->go =3D 0; =20 @@ -163,7 +173,15 @@ MigrationHandlerMain ( break; =20 case MH_FUNC_RESTORE_PAGE: - CopyMem((VOID *)params->gpa, page_va, 4096); + // + // Don't import a page that covers the mailbox or pagetables. + // + if ((params->gpa >=3D mailbox_start && params->gpa < mailbox_end) || + (params->gpa >=3D pagetable_start && params->gpa < pagetable_end= )) { + } + else { + CopyMem((VOID *)params->gpa, page_va, 4096); + } params->ret =3D MH_SUCCESS; break; =20 --=20 2.20.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#72361): https://edk2.groups.io/g/devel/message/72361 Mute This Topic: https://groups.io/mt/81036378/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-