From nobody Wed Dec 17 08:51:19 2025 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2082.outbound.protection.outlook.com [40.107.244.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 323762AE99; Thu, 20 Mar 2025 13:27:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.82 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477242; cv=fail; b=HcXhRcQx9FRT9hN5ZrYy6H3n6lvpCWnWwqXy8eY8Lsnkx+IyKdWV+xVk0jtvmOkSQ7fAu32VJ5cA5WwhZ/9c1whqxfDbcTWQrUpAo4GqHavPXEuDQ20apdcAgo9jz+lbXlS/vEOvJPEqO1jfjz9kmx3noJeaJkEA9R3HyH8fuOg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477242; c=relaxed/simple; bh=TQvUhGimDzrHYlWPp10clZ5e6ys03d7+lLcktVKT3OA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bw2eVxtOAiAkz8LYcOeFDOtf5Wvlo/p4Jl7xWiHmyNg5cBohKvrbVkUyCa/ENvMGX4FFS4uQV2JgOY8A5ew21J/EsH2tZVFPWTr0dYsEChPN3tYttfwvctHqMaTk6UKzNisfEh5JUedGgaya40ButGgCILB01thpW6jbu0fDNkY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=4Gbm9vo9; arc=fail smtp.client-ip=40.107.244.82 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="4Gbm9vo9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PgMZM2vWhYTPNK2/jydxH8e9PT+63fq3QlaFdfqWmUlDEtIXTiAwGVsScyESRy2sPRCzk4j7DkLyZyhWV9IoBAay/iP8A8O5opvFRf8FjDxuPBD1ibHMZlfHWfqXPDEtA7dRu5ZyPlwQt1TGZN+3TbhYKSp31N4GR3nb89J2Rlco7RZtXHXKle75XJM5DkVf6KVHxvktlB+cdjBkl/A+vWXfhJxzeKdDPLN50LnA2chaf95O3Hwd2cOzdD6x43NqREzq4fGeXRJmedZ51zK6HyZjlynVcZ0Q3jQC0Rryw0Xo9dWDxxGWjCvcsar/AM6c8eStjhnAQ+HdFXqqgXvsog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ft1qCBMoC4lTI0SECHL6Jjc2V6kY8v3yKAOjgWnI+k4=; b=Nl9a7OhFUt3Ovn8p6HkP7hf19Q1vN8x036sES1FkoYylLXVhr9whjVwAw370MNwlRFDPHnDcHcUudO/BZlM2eg/B2cfUoTHzelzDFcb2p2lEK/ipbCZ2FolpQsqBq/2mb0K8k1BlnltfoJ/Wz+F5BA2AWK3wl2A67YO/CUTLd48z/nloyDTr8dpb0HqvqQD+uxgO5Vc5soszYIeTUexubnsUsH1Y7d2RBjaxLT4eamlhJPhXI8vv4CtfdUXZh31rMqrJrH8pqTZR//FrxKQsTMlVgOBfQbmBfChHIChniOzywK+63OI378Au5Nod1nsx40alVl2ZFL9CtRnItkHPhA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ft1qCBMoC4lTI0SECHL6Jjc2V6kY8v3yKAOjgWnI+k4=; b=4Gbm9vo9CYt5P6a5sgbBO5ET7JdyFb1vJ84hj8oSlCqjjpuk24tmv0qvAKHgFKeqZXakPbfqmUdpziizlM9wKyiO1KwpR/U1424HXMk3tsNgC5ypBrEQz+vxlgXptNlOt+1OQ3BWvjMbZf2OQ4o9hzoFBXrf05NAyL7wU6IeAaQ= Received: from MN2PR14CA0002.namprd14.prod.outlook.com (2603:10b6:208:23e::7) by CH3PR12MB8909.namprd12.prod.outlook.com (2603:10b6:610:179::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 13:27:16 +0000 Received: from BL02EPF00021F6C.namprd02.prod.outlook.com (2603:10b6:208:23e:cafe::2c) by MN2PR14CA0002.outlook.office365.com (2603:10b6:208:23e::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Thu, 20 Mar 2025 13:27:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL02EPF00021F6C.mail.protection.outlook.com (10.167.249.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 13:27:15 +0000 Received: from tlendack-t1.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 20 Mar 2025 08:27:13 -0500 From: Tom Lendacky To: , , CC: Paolo Bonzini , Sean Christopherson , Borislav Petkov , Dave Hansen , Ingo Molnar , "Thomas Gleixner" , Michael Roth Subject: [PATCH 1/5] KVM: SVM: Decrypt SEV VMSA in dump_vmcb() if debugging is enabled Date: Thu, 20 Mar 2025 08:26:49 -0500 Message-ID: X-Mailer: git-send-email 2.46.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6C:EE_|CH3PR12MB8909:EE_ X-MS-Office365-Filtering-Correlation-Id: 4492edb9-7f08-4908-51be-08dd67b2ee73 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?fDI2Swm5aeNEgWMMz5vYsiDMm9LOuMqrgkOqZijhnT14Y5aJoLZ+Q60DTcCO?= =?us-ascii?Q?vHkczc241pswUvTmzwhaiEPkC73k07zPRs1KRn/L+l8FZKQ0yutIOJnKHUgH?= =?us-ascii?Q?annyeaarVJ46sC/k3R9+eeEBt9/xChyyqt1bmUjC+jPMG/9mdjK/VU7ukEZQ?= =?us-ascii?Q?rDAdZhetQLzWWW5G1FvCBZbNseHIE9J6bdhBmnokaLlu4OkjKZ5PIoQCrkdN?= =?us-ascii?Q?5H1lHDl11KZjha6HgfLYa8yQ/BSesLtiYhCSyuFSczWvb7pCAfe9r8//VAWx?= =?us-ascii?Q?h2kpdxy4dswc43D4SlG/OfMnmhT5p6+aFPK0RGICLueC4sAivSNyh8DSI8tI?= =?us-ascii?Q?PrYtpiBjQjV/ece4QcG7+7TfWWgf2rdM23TH5ZhQ+P1chaR8PuTCF1TFFNmh?= =?us-ascii?Q?suF+ZB7UFBpgsXN8F8V7awLGKYBvjirgNsr0af8O8Qy/9k/1LsEjiCIPMh80?= =?us-ascii?Q?Yxk8b1I1To5FVVmLP6dHDzPrEGh9hCN2YqUgL56oTuCrK/EPq7iNAPB8mdKR?= =?us-ascii?Q?bGjFO+f1k4ZMZG8HNhLObZ+F+KA5rTpyu/JwehATpI0ItAYtdhtjF3tlYJt9?= =?us-ascii?Q?P9eqHZFITa6FK1JDSXeieEMXwaUh8tHPJ/zyYgnO/lzoKY5RnRwSNC/zl6fO?= =?us-ascii?Q?vkYmJn88Rw7UuxEIlI/vBIpNvWbBTVcXiqnDR8LcuQcx+W5R4TIFYnkJqtcE?= =?us-ascii?Q?7YhSaJ1OokJf4my8ssPs8czSFhNX9QiJlZkYxXzlSwMaT4hTht0G+ikWibg4?= =?us-ascii?Q?N+1tf+C6pFP1sqUaVm6Pp/USCmUMSlGRYQd+DE9dFe2Jls+Ylv0RyQ77vCmC?= =?us-ascii?Q?tlzVa1QCd6m+Ieiem7ZImBM5GoJAhhJAXV+De84EgaH5dDnlJM9HNJ7XAfRl?= =?us-ascii?Q?eNk0Raq3+lmGQrAbqNDXb++48T2VeCFMRlQos8BTHKY5sVh1A6xFh3ZjBbGu?= =?us-ascii?Q?RhUJ7njIOW93+Sr3wYEXH32qCwpJSGkVKsl6NlcNXvrzFpRIDASgWf4agLKk?= =?us-ascii?Q?GtGF7v3GR4kEXY7i70A2LIS+qzKmZ0yn4ibBSQYL6wx2VjF7HC4bBt4R0coC?= =?us-ascii?Q?30zHpOI8rjycmYBFqBBsU+gZSGhn+Vw3bsuSX1wRxm3avDyiCzSnCoznY0Qw?= =?us-ascii?Q?BZLuWqVzOdJfn6FzXQyNZ0TovedSwJCAsxn8niIKsUiZ9K47wGKHcfQVAEhj?= =?us-ascii?Q?yxyAkWm6q+NAYR7+hq42VdXmYExjtSpDcMzslEFhYxo7UECNKr86/QE8vpF8?= =?us-ascii?Q?2wwIuz2oMQNcboYkCOn4WAn7T3UyRUUllC4IsVkFtX384zqnstgB1d+CcrKj?= =?us-ascii?Q?pRaL/e3BOli6K/GWpJidctlN3Z7Y6ghtWPXuZQYz1tNQ3+5HWl2AN5eN9OPA?= =?us-ascii?Q?dtxfQG1AZBW1DyHKrBXZpFkeG9mn+x8/m98lcvwElrikFD0/GgNENPUKE3zO?= =?us-ascii?Q?6cNZznUevI4JZQ7cNO3Uk3kYzyKHF+CIrHOcTI9LzKBpsIZJDVvaz5JKmCI7?= =?us-ascii?Q?+dDL1Vq80nILw78=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 13:27:15.8384 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4492edb9-7f08-4908-51be-08dd67b2ee73 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00021F6C.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8909 Content-Type: text/plain; charset="utf-8" An SEV-ES/SEV-SNP VM save area (VMSA) can be decrypted if the guest policy allows debugging. Update the dump_vmcb() routine to output some of the SEV VMSA contents if possible. This can be useful for debug purposes. Signed-off-by: Tom Lendacky Acked-by: Borislav Petkov (AMD) Tested-by: Kim Phillips --- arch/x86/kvm/svm/sev.c | 98 ++++++++++++++++++++++++++++++++++++++++++ arch/x86/kvm/svm/svm.c | 13 ++++++ arch/x86/kvm/svm/svm.h | 11 +++++ 3 files changed, 122 insertions(+) diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c index 661108d65ee7..6e3f5042d9ce 100644 --- a/arch/x86/kvm/svm/sev.c +++ b/arch/x86/kvm/svm/sev.c @@ -563,6 +563,8 @@ static int sev_launch_start(struct kvm *kvm, struct kvm= _sev_cmd *argp) if (copy_from_user(¶ms, u64_to_user_ptr(argp->data), sizeof(params))) return -EFAULT; =20 + sev->policy =3D params.policy; + memset(&start, 0, sizeof(start)); =20 dh_blob =3D NULL; @@ -2220,6 +2222,8 @@ static int snp_launch_start(struct kvm *kvm, struct k= vm_sev_cmd *argp) if (params.policy & SNP_POLICY_MASK_SINGLE_SOCKET) return -EINVAL; =20 + sev->policy =3D params.policy; + sev->snp_context =3D snp_context_create(kvm, argp); if (!sev->snp_context) return -ENOTTY; @@ -4975,3 +4979,97 @@ int sev_private_max_mapping_level(struct kvm *kvm, k= vm_pfn_t pfn) =20 return level; } + +struct vmcb_save_area *sev_decrypt_vmsa(struct kvm_vcpu *vcpu) +{ + struct vcpu_svm *svm =3D to_svm(vcpu); + struct vmcb_save_area *vmsa; + struct kvm_sev_info *sev; + int error =3D 0; + int ret; + + if (!sev_es_guest(vcpu->kvm)) + return NULL; + + /* + * If the VMSA has not yet been encrypted, return a pointer to the + * current un-encrypted VMSA. + */ + if (!vcpu->arch.guest_state_protected) + return (struct vmcb_save_area *)svm->sev_es.vmsa; + + sev =3D to_kvm_sev_info(vcpu->kvm); + + /* Check if the SEV policy allows debugging */ + if (sev_snp_guest(vcpu->kvm)) { + if (!(sev->policy & SNP_POLICY_DEBUG)) + return NULL; + } else { + if (sev->policy & SEV_POLICY_NODBG) + return NULL; + } + + if (sev_snp_guest(vcpu->kvm)) { + struct sev_data_snp_dbg dbg =3D {0}; + + vmsa =3D snp_alloc_firmware_page(__GFP_ZERO); + if (!vmsa) + return NULL; + + dbg.gctx_paddr =3D __psp_pa(sev->snp_context); + dbg.src_addr =3D svm->vmcb->control.vmsa_pa; + dbg.dst_addr =3D __psp_pa(vmsa); + + ret =3D sev_issue_cmd(vcpu->kvm, SEV_CMD_SNP_DBG_DECRYPT, &dbg, &error); + + /* + * Return the target page to a hypervisor page no matter what. + * If this fails, the page can't be used, so leak it and don't + * try to use it. + */ + if (snp_page_reclaim(vcpu->kvm, PHYS_PFN(__pa(vmsa)))) + return NULL; + + if (ret) { + pr_err("SEV: SNP_DBG_DECRYPT failed ret=3D%d, fw_error=3D%d (%#x)\n", + ret, error, error); + free_page((unsigned long)vmsa); + + return NULL; + } + } else { + struct sev_data_dbg dbg =3D {0}; + struct page *vmsa_page; + + vmsa_page =3D alloc_page(GFP_KERNEL); + if (!vmsa_page) + return NULL; + + vmsa =3D page_address(vmsa_page); + + dbg.handle =3D sev->handle; + dbg.src_addr =3D svm->vmcb->control.vmsa_pa; + dbg.dst_addr =3D __psp_pa(vmsa); + dbg.len =3D PAGE_SIZE; + + ret =3D sev_issue_cmd(vcpu->kvm, SEV_CMD_DBG_DECRYPT, &dbg, &error); + if (ret) { + pr_err("SEV: SEV_CMD_DBG_DECRYPT failed ret=3D%d, fw_error=3D%d (0x%x)\= n", + ret, error, error); + __free_page(vmsa_page); + + return NULL; + } + } + + return vmsa; +} + +void sev_free_decrypted_vmsa(struct kvm_vcpu *vcpu, struct vmcb_save_area = *vmsa) +{ + /* If the VMSA has not yet been encrypted, nothing was allocated */ + if (!vcpu->arch.guest_state_protected || !vmsa) + return; + + free_page((unsigned long)vmsa); +} diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index e67de787fc71..21477871073c 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3423,6 +3423,15 @@ static void dump_vmcb(struct kvm_vcpu *vcpu) pr_err("%-20s%016llx\n", "avic_logical_id:", control->avic_logical_id); pr_err("%-20s%016llx\n", "avic_physical_id:", control->avic_physical_id); pr_err("%-20s%016llx\n", "vmsa_pa:", control->vmsa_pa); + + if (sev_es_guest(vcpu->kvm)) { + save =3D sev_decrypt_vmsa(vcpu); + if (!save) + goto no_vmsa; + + save01 =3D save; + } + pr_err("VMCB State Save Area:\n"); pr_err("%-5s s: %04x a: %04x l: %08x b: %016llx\n", "es:", @@ -3493,6 +3502,10 @@ static void dump_vmcb(struct kvm_vcpu *vcpu) pr_err("%-15s %016llx %-13s %016llx\n", "excp_from:", save->last_excp_from, "excp_to:", save->last_excp_to); + +no_vmsa: + if (sev_es_guest(vcpu->kvm)) + sev_free_decrypted_vmsa(vcpu, save); } =20 static bool svm_check_exit_valid(u64 exit_code) diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h index ea44c1da5a7c..66979ddc3659 100644 --- a/arch/x86/kvm/svm/svm.h +++ b/arch/x86/kvm/svm/svm.h @@ -98,6 +98,7 @@ struct kvm_sev_info { unsigned int asid; /* ASID used for this guest */ unsigned int handle; /* SEV firmware handle */ int fd; /* SEV device fd */ + unsigned long policy; unsigned long pages_locked; /* Number of pages locked */ struct list_head regions_list; /* List of registered regions */ u64 ap_jump_table; /* SEV-ES AP Jump Table address */ @@ -114,6 +115,9 @@ struct kvm_sev_info { struct mutex guest_req_mutex; /* Must acquire before using bounce buffers= */ }; =20 +#define SEV_POLICY_NODBG BIT_ULL(0) +#define SNP_POLICY_DEBUG BIT_ULL(19) + struct kvm_svm { struct kvm kvm; =20 @@ -756,6 +760,8 @@ void sev_snp_init_protected_guest_state(struct kvm_vcpu= *vcpu); int sev_gmem_prepare(struct kvm *kvm, kvm_pfn_t pfn, gfn_t gfn, int max_or= der); void sev_gmem_invalidate(kvm_pfn_t start, kvm_pfn_t end); int sev_private_max_mapping_level(struct kvm *kvm, kvm_pfn_t pfn); +struct vmcb_save_area *sev_decrypt_vmsa(struct kvm_vcpu *vcpu); +void sev_free_decrypted_vmsa(struct kvm_vcpu *vcpu, struct vmcb_save_area = *vmsa); #else static inline struct page *snp_safe_alloc_page_node(int node, gfp_t gfp) { @@ -787,6 +793,11 @@ static inline int sev_private_max_mapping_level(struct= kvm *kvm, kvm_pfn_t pfn) return 0; } =20 +static inline struct vmcb_save_area *sev_decrypt_vmsa(struct kvm_vcpu *vcp= u) +{ + return NULL; +} +static inline void sev_free_decrypted_vmsa(struct kvm_vcpu *vcpu, struct v= mcb_save_area *vmsa) {} #endif =20 /* vmenter.S */ --=20 2.46.2 From nobody Wed Dec 17 08:51:19 2025 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2078.outbound.protection.outlook.com [40.107.95.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8878521CC40; Thu, 20 Mar 2025 13:27:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.95.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477248; cv=fail; b=iJ46rENwb0M77bvkV3o4h2ek+BdECnuc5mZ6BPKVLghP3Y+0REj5UfX33MuIM+Dr8jLtEF/iPysNtxdvalpE/PPL7bJO5WOOCmthEUSKu+KNEgCBESLhSE0AYQCj43b8zCToDilQMb59gR4bkdo1tAzVvqOay7bvsgDRfR3lAcQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477248; c=relaxed/simple; bh=rvnkbafmnbZwBimo2/e/KtCcQa88KdS2BKmRNWXe0Rg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ROUbqaqIv55IWRqkpwvblH8XqE4XZQ073wxGbDVm3UfY4SsRb574ynn4JDqgtQ9YY1fjXkhduSsSX8dDkAqwuBnCgfDp+i0SUmJc8C7tf77l0YqLzEhF03vrLaqVTHzvFdqFeDRj6SIRztjMRe1JzKXnbwv0nvXhugDtGBSuCHA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=oCJZUuR/; arc=fail smtp.client-ip=40.107.95.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="oCJZUuR/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hDhPU1zJP5pzzAMgY1AItke+U9c5f95xTQC2akycy0A5NMMiwl2LXL7RfXlK2yLtIAERkWQzYTczx8RQzaZnPgaXco7qOChG7vRKyLY1JZwynZV0y/QkM+1W5J8b3R78V/NPoLG79Hpubp7EE9xOsrJv6iGscrzs/zgrzKrTxipYx7HMfk8DoP6Iho0aTkMG93tNWBKDFEQfvEmwBZoHlKB7pxs47OGZnIzDth/KdNvLp1C8F65MN1gScrfUlj/XOGDDnRJ/rrqojDGo0Htqppu5oMjmfhSlXlDWK9PK3yaNpteURHOHBz3TdQjfHrcxtkGdI61KMLw5gTfQvmoS8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QY8tCuWyExRi4Nx3qxW/mYAeIndE4Y9afQ6ecJu049w=; b=zMbkKd4AZupqZdoPDdRTX8TaOcYJeNrlSO80nLRF20VM35IF4OGlQBIwzBxYM0Ra0WukwIkXoew8YiB3w1k84j1Iu24vleikD9twRRlgJhljE4YHZQMYHsQBgUZDKqGR+7bbW60t6AP88ky58MQp8JEcG4tK47de6SYmzDXYtqvcVmpyq3JDnAAJYc8FkSOLwqpSYsKwEGi9iecUXWyp6ENHNZBUxv1dZwyjglD1nX3j8CmwiaJmXq4G5Ew1g6SAEI5YMC5XcFTGt0fA99685/MaIvOAmGvKtbH564sd2FvZVDWLOabMSRuujsd4D3bQ7087X4nVDIHwuKts+L3MJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QY8tCuWyExRi4Nx3qxW/mYAeIndE4Y9afQ6ecJu049w=; b=oCJZUuR/8pN6oanViVXBzpu4s0kHH5P3jdJpQK4w0LStX+ZGnWvgDMuQGzTagVXcsITsCq7/Ki27E8SVBPxqtRBj17WuuHF9GSnlOeTC/GzP7es0GgUQWSiBKjgoVlbU2qVELeKTzzzcwfvasYf3Dr1vcLSo15v+IBwSZhxPPK8= Received: from MN0PR05CA0015.namprd05.prod.outlook.com (2603:10b6:208:52c::28) by CH3PR12MB7738.namprd12.prod.outlook.com (2603:10b6:610:14e::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 13:27:23 +0000 Received: from BL02EPF00021F6A.namprd02.prod.outlook.com (2603:10b6:208:52c:cafe::e1) by MN0PR05CA0015.outlook.office365.com (2603:10b6:208:52c::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.36 via Frontend Transport; Thu, 20 Mar 2025 13:27:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL02EPF00021F6A.mail.protection.outlook.com (10.167.249.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 13:27:22 +0000 Received: from tlendack-t1.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 20 Mar 2025 08:27:21 -0500 From: Tom Lendacky To: , , CC: Paolo Bonzini , Sean Christopherson , Borislav Petkov , Dave Hansen , Ingo Molnar , "Thomas Gleixner" , Michael Roth Subject: [PATCH 2/5] KVM: SVM: Dump guest register state in dump_vmcb() Date: Thu, 20 Mar 2025 08:26:50 -0500 Message-ID: X-Mailer: git-send-email 2.46.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6A:EE_|CH3PR12MB7738:EE_ X-MS-Office365-Filtering-Correlation-Id: 22aedff6-c490-4d5e-3616-08dd67b2f27c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Z0PbIRIixBNxFogtlmnZgFncsWxbZAptoiloQY2J3EGN3fEqpWFG+CfTmcjY?= =?us-ascii?Q?B2QRo33yqHNLqRtjV93zgTnDypdPmRJS0EIdnGnYH3600fiRWahsopcu0sly?= =?us-ascii?Q?7HAzHvBUwtwTFJvmJS7QWyYsd7aOjVCB3O2oTScFYkCfURTWTzZN3FyN4IXN?= =?us-ascii?Q?2kaV+2/DF40t5chqBg1dlfeQRrLWrlGie+9hGtXv5zk2vsy+755Dh8sQnNlb?= =?us-ascii?Q?+uJ00m3SM2KyFcWbtsSCHXhKjsWsouRgTrgOFGgFIR4gkpVyePkOJItSVmAi?= =?us-ascii?Q?mNdo/BJeLfuzDRX8AwOiDfalkc+FWgUH/wty2aptBRJTRDf52GSzimHjZ0A7?= =?us-ascii?Q?lH8FN1roElWbcrXfU448YXlHqYtC+/NGTMjadobAkZPrpXuQoSgk9ZJFhtY8?= =?us-ascii?Q?nByAX3KN0UAz90FVDWg+mUv3Mj+nBARINvqAPbcK3H9gZDnsqSeW0N07mUOS?= =?us-ascii?Q?28qMbiA186/xU5WySLsrgLWNWMIhQ/mSqDSWzh9zdPG/1Mbt84sNzr+IBdDi?= =?us-ascii?Q?4LZWogSTvQKhhfjs488q2xNStdSPYelWNFWOdjGKAo1gqNu09lVz6L+hkZ9n?= =?us-ascii?Q?KFNEXRrXVuzrLSY/qBgUTLT/tiJejqYgLNhwS7shKzbVGfnZeGAm7dkNb4d6?= =?us-ascii?Q?QEbyx1GPnWVY8SxKcWMYwk62gBMUS2gCyZ6ucHDqFbOUf2Mt0wv2H0sfvx5a?= =?us-ascii?Q?Slgaxqy44H2E81wT+ueCMOSJ0VtXcsjFdBPo/LaGuev9o+zvvIOvKDCpR2uf?= =?us-ascii?Q?WBQvH7oUH7Et0G6DBoKwgkpHHREqq5hHODDEFJrK//a6PAXIXl8C8hn9MWD5?= =?us-ascii?Q?FirMaJNStdnTLEnMsonTWpkun3Q0Cbgz4+mk+Bfck1oxg6+pn2WU5wRuPOyx?= =?us-ascii?Q?pRYvln+dnh2JlGQfSgLe2RrTf05CnR//6KocfwZU56t6awSOgeHwRFZhpUAG?= =?us-ascii?Q?H1ci/iqSm6P4WdkAmDY6Kk1R89mV+EDY1ci/DcYKV9pHo7+SzuxmC4zlk4Bp?= =?us-ascii?Q?nggtDIXmcEcA1ioOebKq8dBu57J2JyD6oOaHdsm7D691nKCY4t3+oYnDbW3V?= =?us-ascii?Q?Y/T4mGr/BpkMLyxyv0lFFKxFGOZsZG8mwRED/ch/sKtBvazPnv2rVgGmQZdO?= =?us-ascii?Q?gf/hld3avASpXoOux/lij6k35fMnVIj3Bzdd2jqDoFZcCxb3RI8gp9vZ6uy/?= =?us-ascii?Q?Ae3jOKLW2hQ7c+0b2y2dGDwamKlfgib26JsohUxGuL3z6gslRFMgy1xsg3P0?= =?us-ascii?Q?kKrCcUisoyWjrScUc7aGYCmJ+EBLd+h4r4KbcpOcwH2euc9Vk9Ze2N2xck4k?= =?us-ascii?Q?r5U+7frRsBsIkxypfEKk5gVsEkJr1BQBspyCghDabO3+xRmfg6ItDqO3Lw4A?= =?us-ascii?Q?bbThworMsHU2Vwh2z9u40Br2xZjDT8omnPbKn2yxPUhlcjpR+azCGRTa0VbB?= =?us-ascii?Q?/j7y/eywWJFtc/C4CZz9kzGbdduGfAQ+mEVxPTBIaMwFBQAW94cAGQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 13:27:22.5763 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 22aedff6-c490-4d5e-3616-08dd67b2f27c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00021F6A.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7738 Content-Type: text/plain; charset="utf-8" Guest register state can be useful when debugging, include it as part of dump_vmcb(). Signed-off-by: Tom Lendacky Acked-by: Borislav Petkov (AMD) Tested-by: Kim Phillips --- arch/x86/kvm/svm/svm.c | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 21477871073c..5ed6009bcf69 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3503,6 +3503,59 @@ static void dump_vmcb(struct kvm_vcpu *vcpu) "excp_from:", save->last_excp_from, "excp_to:", save->last_excp_to); =20 + if (sev_es_guest(vcpu->kvm)) { + struct sev_es_save_area *vmsa =3D (struct sev_es_save_area *)save; + + pr_err("%-15s %016llx\n", + "sev_features", vmsa->sev_features); + + pr_err("%-15s %016llx %-13s %016llx\n", + "rax:", vmsa->rax, "rbx:", vmsa->rbx); + pr_err("%-15s %016llx %-13s %016llx\n", + "rcx:", vmsa->rcx, "rdx:", vmsa->rdx); + pr_err("%-15s %016llx %-13s %016llx\n", + "rsi:", vmsa->rsi, "rdi:", vmsa->rdi); + pr_err("%-15s %016llx %-13s %016llx\n", + "rbp:", vmsa->rbp, "rsp:", vmsa->rsp); + pr_err("%-15s %016llx %-13s %016llx\n", + "r8:", vmsa->r8, "r9:", vmsa->r9); + pr_err("%-15s %016llx %-13s %016llx\n", + "r10:", vmsa->r10, "r11:", vmsa->r11); + pr_err("%-15s %016llx %-13s %016llx\n", + "r12:", vmsa->r12, "r13:", vmsa->r13); + pr_err("%-15s %016llx %-13s %016llx\n", + "r14:", vmsa->r14, "r15:", vmsa->r15); + pr_err("%-15s %016llx %-13s %016llx\n", + "xcr0:", vmsa->xcr0, "xss:", vmsa->xss); + } else { + pr_err("%-15s %016llx %-13s %016lx\n", + "rax:", save->rax, "rbx:", + vcpu->arch.regs[VCPU_REGS_RBX]); + pr_err("%-15s %016lx %-13s %016lx\n", + "rcx:", vcpu->arch.regs[VCPU_REGS_RCX], + "rdx:", vcpu->arch.regs[VCPU_REGS_RDX]); + pr_err("%-15s %016lx %-13s %016lx\n", + "rsi:", vcpu->arch.regs[VCPU_REGS_RSI], + "rdi:", vcpu->arch.regs[VCPU_REGS_RDI]); + pr_err("%-15s %016lx %-13s %016llx\n", + "rbp:", vcpu->arch.regs[VCPU_REGS_RBP], + "rsp:", save->rsp); +#ifdef CONFIG_X86_64 + pr_err("%-15s %016lx %-13s %016lx\n", + "r8:", vcpu->arch.regs[VCPU_REGS_R8], + "r9:", vcpu->arch.regs[VCPU_REGS_R9]); + pr_err("%-15s %016lx %-13s %016lx\n", + "r10:", vcpu->arch.regs[VCPU_REGS_R10], + "r11:", vcpu->arch.regs[VCPU_REGS_R11]); + pr_err("%-15s %016lx %-13s %016lx\n", + "r12:", vcpu->arch.regs[VCPU_REGS_R12], + "r13:", vcpu->arch.regs[VCPU_REGS_R13]); + pr_err("%-15s %016lx %-13s %016lx\n", + "r14:", vcpu->arch.regs[VCPU_REGS_R14], + "r15:", vcpu->arch.regs[VCPU_REGS_R15]); +#endif + } + no_vmsa: if (sev_es_guest(vcpu->kvm)) sev_free_decrypted_vmsa(vcpu, save); --=20 2.46.2 From nobody Wed Dec 17 08:51:19 2025 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2074.outbound.protection.outlook.com [40.107.244.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C8E40221549; Thu, 20 Mar 2025 13:27:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.74 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477255; cv=fail; b=qBTgAn7f+uyaGMRTt6HOoSd2xTlXfzod3c38TwXOs6KLf/aZrEsvj/zYOxEBu6yeFNhG+G2doFPR8mfSL8J6u/aEnKGzBkrRVCwvRDmfy2fOtn/sykYmXBq9uLhf+oeyilDByTN6jy4GX7ixIxi2jKiXZIBMd7X/Njty1p00HU0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477255; c=relaxed/simple; bh=GLkrgwiP/TdjNAXR5YA0FRzW2yLxn9jRXRKKzXyomE4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=b9ij19xFcFy5ZGje8yG6osknMW3lMWiZGDnpJwdOM3mQ4MXLq/4yKjidVE82zfcqP86IAyyQs+YegUS4Z49+nEUOB6oGg+UqE9ESwCVtqlBW1J75d74UmbFVaxDZpSUkbz5NTpbW5NELF4lk02ndfL1tDdOYNmngO47BUrS+JBo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=wfQlKKq5; arc=fail smtp.client-ip=40.107.244.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="wfQlKKq5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UjYiER+WQDKXzUMZJm6m50AH4L4jrbyyeACOOJdjVpF1noeN/Saoc2wAlgXB8jofh/2Nxw2MGoh35e9ZHVmd/q88UlI0lQwWw6+sUSLjwn01tO+wtYDWdnto68Ddfc+5xL5nCJb7ROWHc1Wl571auy77MdH+UH5qmBlfWbLXMXbBf2ibR4Jl6XaFzuXlKgWf4d5snkv+HzGfBzNvTx/AoRDoNA5RXLLdRIALdJY0AIfdOHIWe4Sooa70fKlAd5yLWaaxuFpxjXnRj8GWxPBteVsmI8xyZNRYgdTM8Qk+iVLIEM6hzCQ1gZR0f2N7qn/ojsKwIcce9bpRqUjj3fRdig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rpjcUe5NBYSLvKKrzgFlnlZ2dyLo6Yoi3l0iEmCBpXY=; b=UNz5zOI49wZFEK1MNLhQpv089ija/uqFxvS37+DJSPQT/c1ey7iJCCDuJkt7y8vLmRtHt04WauJ9/OHEEyBP/0KuWeH/2Ma/DqwdELrvs1WKYIYp0AEe5Mth4t8b+BNR4GcN4tv6t7Au17znrLegPXhYW6Kdsx9edjTFMpLMlnUyNUO+h0fosZPh2CoMgywbNwiEXRm6MFr5mINazmgJ1OVj5oz+NfOlF/3ra2/Mi9i3Ff6j5Y4xVQb4FoEJwvvTxvCaAwAVyAOCHe+QF5g18kLWS9BOfM4E/IusQt963VBp17qhlNdR3EeID5Jpv1dEH74zrvK+WvGSSSeAaJiAew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rpjcUe5NBYSLvKKrzgFlnlZ2dyLo6Yoi3l0iEmCBpXY=; b=wfQlKKq5QAqK3wkiGf7CP+J+o1XUzM1xIzNty4EQ2JWlA1YT4YNQ2T9rMj8Dw8m33F/txlFxv0zQUawhiC1l46P5ax3HWlzNGzWAaR9cw/eN5VZe0SrWuUY0Y6OCDJihkG+0HhlfSV51Kx7uprGtvDtYmMBxkRCtFlBm2VMNSDE= Received: from MN0P220CA0018.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:52e::16) by DM4PR12MB7719.namprd12.prod.outlook.com (2603:10b6:8:101::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 13:27:30 +0000 Received: from BL02EPF00021F6D.namprd02.prod.outlook.com (2603:10b6:208:52e:cafe::39) by MN0P220CA0018.outlook.office365.com (2603:10b6:208:52e::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Thu, 20 Mar 2025 13:27:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL02EPF00021F6D.mail.protection.outlook.com (10.167.249.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 13:27:30 +0000 Received: from tlendack-t1.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 20 Mar 2025 08:27:29 -0500 From: Tom Lendacky To: , , CC: Paolo Bonzini , Sean Christopherson , Borislav Petkov , Dave Hansen , Ingo Molnar , "Thomas Gleixner" , Michael Roth Subject: [PATCH 3/5] KVM: SVM: Add the type of VM for which the VMCB/VMSA is being dumped Date: Thu, 20 Mar 2025 08:26:51 -0500 Message-ID: <7a183a8beedf4ee26c42001160e073a884fe466e.1742477213.git.thomas.lendacky@amd.com> X-Mailer: git-send-email 2.46.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6D:EE_|DM4PR12MB7719:EE_ X-MS-Office365-Filtering-Correlation-Id: 38bb2f88-92da-40f3-05d8-08dd67b2f720 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?4NIdBI0n2MJ0pEh4WTItlOocZGacxKaT6UxKOItufcZXYQKJdnksoxiGgcuv?= =?us-ascii?Q?Ehd2j/60bqW9CUBdpsre+uWqMG5nu/mwz0kT69pQuod+FUXOnTdbrEyuAzK7?= =?us-ascii?Q?VAqVD0H4Dde7NCYZ0SRaL3QDt62KavcMYtVKYyfxeGigRC2IpefN95m5Akce?= =?us-ascii?Q?MgXK6y6nW/U1yUyTAN/pFwFnBjvHMJu8OeA1E46TZ+rU6f/tsfnOD8bKrTlZ?= =?us-ascii?Q?80/jbXqa88Hf2Mze3lNQ0TWJ1qVS1lxe1ktW0dH8zIZ0AR0X1/RAHtoKR4M1?= =?us-ascii?Q?FRyhZ48rP2jRAvOJayn16DDSGHaLdh/tQvwvk0LY7uH0KQp99KdRKWPKPiPM?= =?us-ascii?Q?cdSqLFxe00iRYQbi0vXwqlkmF9Kvmf0j9TxPnkh9bjjS1FfrXagLURsENHj2?= =?us-ascii?Q?rxZYJNXxLIXF6ILm20N6QIH/oT/iKL+mQYXAz91QW6q2E42qpCKMdA1adGo1?= =?us-ascii?Q?gnkk5Uwe+P8KbGBVQobvuS72lKBbUG/7ElJ8cWmmcU9OAeEfrBb4KWxIu3bf?= =?us-ascii?Q?NMmyBmRF3u4H/nCnUFX0G8+c2aZJMGBOXR/tFKsTPOzux3s8Mv9CDBg1/Nd5?= =?us-ascii?Q?E4zqc8sF208abLIh+aNG5W8/YuWvZengr0hm5OwpkxX8ajg3nN9VH/9aYVEK?= =?us-ascii?Q?ctny6IPthoSC9n0A7LTH80FP+3IVd05Cj2daVyPsXf3iii4rmijgwzgw/mK2?= =?us-ascii?Q?oNQrFyY127+NdYVQJ0R0tZMPd7m9biCz2EGr6uxplFFrUWTOzBOLq1y+EN/u?= =?us-ascii?Q?NhUStgILXxqTInxCfB8pQzb9lLJ/YwLeUBf3z8n5ia62JpfSiI/Fiu/iTA/f?= =?us-ascii?Q?w0DqR5I26zAXmsZKYzbFqFKTwQodqSbj+UnonGW4hY78B0W+PVdbXtfSgefm?= =?us-ascii?Q?6xUO3iqWQp6sXP+EtLhOKyK4fxdr9DNkQcHFbGxXdBJznvpnQWLrw9TH3xRt?= =?us-ascii?Q?WcofClSZd/tqJW94Lq82aQDpqBwcS+HrwBOAY+zgDuWrVcohrZQwkZkYBLsF?= =?us-ascii?Q?B9oyXJ6Dpz0EozyGMSIiUHOWxpzfBopLccf/PqinULtTEkaGfLBnBlVH3m0F?= =?us-ascii?Q?FrBORCfnA1gZMbj6VNC6C5dgdiWLLLvQ9z0++S+fqXJ/Zk/ZGfxwqBKigPqk?= =?us-ascii?Q?I0DGKPRFPBkj0VyoPNL/RNgXiuDOSpgBHsKDlhfQYIei20dHelwNxWc/Fpjq?= =?us-ascii?Q?X5NJmsogR4KlRR55m+OxBYS/SeeZO8HwEMm1V2QAk7DOMGIMSyEcry4Hpvwa?= =?us-ascii?Q?kBbXYnY4rxoJvYX7l3JBOZfLWu1I8nUWsPMWgeJDoCdX5RBi4m4kQUIeSZQ3?= =?us-ascii?Q?w4sqoI/rkZKpU4g3ERmD+F+qYg6iAamztjQayIXt5SBweyxI9l9Zd6RVpgvv?= =?us-ascii?Q?L6+E2AN2sxG+SRKH3axcknH3U4rmakOLWlUE5KqY+3mv0A8tOsoecuLV70Wj?= =?us-ascii?Q?akS4xO8Q129syUb3Jc43DhoQr7T/CrLlVVQ8cJYRMhiMOli2NjJymQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 13:27:30.3920 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 38bb2f88-92da-40f3-05d8-08dd67b2f720 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00021F6D.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7719 Content-Type: text/plain; charset="utf-8" Add the type of VM (SVM, SEV, SEV-ES, or SEV-SNP) being dumped to the dump_vmcb() function. Signed-off-by: Tom Lendacky Acked-by: Borislav Petkov (AMD) Tested-by: Kim Phillips --- arch/x86/kvm/svm/svm.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 5ed6009bcf69..73b5ab58d2b8 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3378,14 +3378,19 @@ static void dump_vmcb(struct kvm_vcpu *vcpu) struct vmcb_control_area *control =3D &svm->vmcb->control; struct vmcb_save_area *save =3D &svm->vmcb->save; struct vmcb_save_area *save01 =3D &svm->vmcb01.ptr->save; + char *vm_type; =20 if (!dump_invalid_vmcb) { pr_warn_ratelimited("set kvm_amd.dump_invalid_vmcb=3D1 to dump internal = KVM state.\n"); return; } =20 - pr_err("VMCB %p, last attempted VMRUN on CPU %d\n", - svm->current_vmcb->ptr, vcpu->arch.last_vmentry_cpu); + vm_type =3D sev_snp_guest(vcpu->kvm) ? "SEV-SNP" : + sev_es_guest(vcpu->kvm) ? "SEV-ES" : + sev_guest(vcpu->kvm) ? "SEV" : "SVM"; + + pr_err("%s VMCB %p, last attempted VMRUN on CPU %d\n", + vm_type, svm->current_vmcb->ptr, vcpu->arch.last_vmentry_cpu); pr_err("VMCB Control Area:\n"); pr_err("%-20s%04x\n", "cr_read:", control->intercepts[INTERCEPT_CR] & 0xf= fff); pr_err("%-20s%04x\n", "cr_write:", control->intercepts[INTERCEPT_CR] >> 1= 6); --=20 2.46.2 From nobody Wed Dec 17 08:51:19 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2069.outbound.protection.outlook.com [40.107.93.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A90D320C01C; Thu, 20 Mar 2025 13:27:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477263; cv=fail; b=jL4rMF4GabcifJ4enF2NwBoNnCvk6xwFZX2qGyh+1ZjCrnfJVS61xHMFBrRawEuZmG1dwbe/k/NZiQH5DuMSyOf1pX9CPlwdaySDfETU1NgOc78IyC0z4hoqQ7KYZWBkEPmDRYDtlZQgm6s04+MfQWe3TbeXPggdzcBTktVJTdg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477263; c=relaxed/simple; bh=2cnzySUpuTyPFt0EpYyfNUrKlZcncRnoNYKvHpuiIu0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hqD8oJ5h1mXXn5wEvt/+B/UHlDMYQInrO0nrPAtDyQd88zLrQez019IDif4CHutgDMZF6bxuCC6vewCqLMnXRGmEl31dG2ZIAEJ5nQVB2X5cwF9RWjdo5Bf0ql1UiIHni2ggWiwomyY8MPnnceiuFYZsKixIKeoLApjW0HN0aD8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=5kMvIqrk; arc=fail smtp.client-ip=40.107.93.69 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="5kMvIqrk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BkuWzoQpP0yWTSTZOKZyWL1KoDMO4rhKHp/ow6Gs0gRyIL5qbqHIHdJbp8ZKPuoCvyugT8TMAyWMINGj3s8mkfh4W61ipjfflkHscRWBWu9IgkwTtD9i3Caicd25j6cYEGSO8lsytB84N02Srz/qxB+Y8MkzGdNiBxrejafWiTvXsCrOKn4MXNFVKrn/y8u1G2azXI+9dBO2tDvCEGtd/dM0SOWrJ//Xm/Gn5UCyTj+gFOsWuhRqLz1XWRgaeB9eMemvcOqzU+TZ0kEaIFf2Cf2bBtjIoSZ8yNdr7BPWf/YydACxUie9ucNHJ59KrYZElRzIyg6PaZuojmIuQA0V0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=X9OQ8DICGLJW0UGxHk1ZnajLap7a34oWm2c0rXYtnuE=; b=je1VTFA1dTs60EgosyM0ahjTz42isKfZ0bwtEa/D++RzrTkja/ZnvL31n3KMqmgFvMfB/J8fFhaDOK9jblI8vy44WA7HUQGEbe0mtCoZBqNikBO1rbdrbDFQtbTeMFs7uE+HZlWFVzXJcVELS3m8bfEzhPbypig+JHxuFUJUj23rU3sh3t02dVo0evNQYv4xXjM+LhrH2UKGoEXD4v8Nsy624SYgNVFA/hwIGX1isQZbNKSlm60YwDkHLee5Zp+A91iu2Zovp5LA8qntYCs3djoYxXgxETaqSZbgpZR25c0AXBAofeM6S3PEFqhPbkB8i6qSsceIKW/U/LmFeHce0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X9OQ8DICGLJW0UGxHk1ZnajLap7a34oWm2c0rXYtnuE=; b=5kMvIqrkFw9mgM82OFsB0Fv55688NV2rHPxE3KSIx9/zdO96ebpGcvPuQXGbYvqyGGmRMNypRqfQmJvzb44t1Etw7mFWnCacUNWo3Usph8wmfYISZDkZUh2+Y5cr01yb8REQkr/KqutIDGPLSn4S3IuYtmGHmL5FD0d9x7ItZ3Q= Received: from MN0P220CA0016.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:52e::26) by DM3PR12MB9327.namprd12.prod.outlook.com (2603:10b6:0:42::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 13:27:38 +0000 Received: from BL02EPF00021F6D.namprd02.prod.outlook.com (2603:10b6:208:52e:cafe::87) by MN0P220CA0016.outlook.office365.com (2603:10b6:208:52e::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Thu, 20 Mar 2025 13:27:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL02EPF00021F6D.mail.protection.outlook.com (10.167.249.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 13:27:38 +0000 Received: from tlendack-t1.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 20 Mar 2025 08:27:37 -0500 From: Tom Lendacky To: , , CC: Paolo Bonzini , Sean Christopherson , Borislav Petkov , Dave Hansen , Ingo Molnar , "Thomas Gleixner" , Michael Roth Subject: [PATCH 4/5] KVM: SVM: Include the vCPU ID when dumping a VMCB Date: Thu, 20 Mar 2025 08:26:52 -0500 Message-ID: X-Mailer: git-send-email 2.46.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6D:EE_|DM3PR12MB9327:EE_ X-MS-Office365-Filtering-Correlation-Id: d0199f2a-651f-49a4-4548-08dd67b2fbcf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?iHAGwsEwJTh/W64yc1N9wM2p3soaXMLr8zkLFu6azBfDeFKpHry0qZmthssJ?= =?us-ascii?Q?qPLQFVO++zDf4cfo6hjF3XdhvdPDXKlMU+sx2cssXi2W4p6Qivg2InsKxerW?= =?us-ascii?Q?q5nNA4sVd6WXu61nOf0xBv+6kf35VZsEcckhPDcXIM0LaGcG3rXUWsrZMBDU?= =?us-ascii?Q?TQn1PNXKYmfaVWSDT+iAMWBzrw4m4EThQzw3DoOXPdmeSSs3bVIOieYR9BRN?= =?us-ascii?Q?QiLvnk3AyWRohft1hyulNz0BoVdZmhbs2v8e1kAbuwY1a2X/NztBjezQZ/dp?= =?us-ascii?Q?FOgfn72IqVwa5IvAdiynWTJzNl1/WW0wxbv6RTD48LuTqCw+E34EEaCq+esY?= =?us-ascii?Q?31A/Ty5F16G9Q65Y8CkmhxLMl8OlPtW9xMRjOlE05gMk+Wa8KBh5ldNWorro?= =?us-ascii?Q?56xycoyjbNY+043jvKnFCQXcMj9ukBS2d1upuFXlOlR3gWWwe1V8D0/SghvW?= =?us-ascii?Q?VDNl10lobJVtzwTfosU/0dt00MlPy4tfQJpXJnEqdTBDhOHy+nkfqMRYKWeq?= =?us-ascii?Q?UFXMjU8MCTTNtgNaFn1U4y9Lg8Ve1rZuZyNaxI/mWmpL7cT/LFP73bVjQUwp?= =?us-ascii?Q?B49l9mT3olS0GzbA74J3OWoj+SUDvpS9LEmsJuCV/BS0u71XQzvyduLme1Um?= =?us-ascii?Q?Qkw4iQ3Fc/ttvIVidZMkt8Ir4OVrgAZQlkTMsFsVBTExC+PCUWi7L78s/+Rt?= =?us-ascii?Q?wrkcmDaTRROXGvfLH57CxB/6J1XDn3TqmwWpGHQFpk2BhkYSBLX0VY9LC2D1?= =?us-ascii?Q?Ro9opi5AU4sXYv/haU58cwads3bK1hY6SLg4nN3/SqsOM87R2C/MWK/u5mJu?= =?us-ascii?Q?wyN2quY1c4n92ycSNLkgu6alKsNoiXZXC0jU/Ibg1sm997kEqqKTOTGg2oVv?= =?us-ascii?Q?v6gpkWi3mivHbmacLMMTD99/WgSLoF9cNiYV8rKjuro/xaJdgBRmVoXxsZeY?= =?us-ascii?Q?YMj64fa/FJdgH6nzn0L8bIB58JIWDtF7Hfz+w56M6WDmANnscKlg3zVVCgW6?= =?us-ascii?Q?IYUJLv+hNNEw0sqoDbjzEkeRPY8LyxErHG2qdK1xbtnZMfGrrwRLe3NDhiF+?= =?us-ascii?Q?w0HlEFiabFPwlErkRlYAYsSW1ct1WjtKJ0C1GTlEf84tlyehObPswMmuBc7D?= =?us-ascii?Q?fcO0KSaCmh8KNRYLVSiJToa51pUNaDPljghFi503wPZz9BoYaFiH5/Qe2ad/?= =?us-ascii?Q?aCRzRu9HF8E6UyHvr6nbhThWduy8Zy3d2A0iQHUWRzdAKpUR6TfbhyYzL7wJ?= =?us-ascii?Q?UD0QBAAu/EJkX3cN5u5DiktRx5MicDfPtIi0QD2BjkIsIfOStaeQRVFX2L8I?= =?us-ascii?Q?bGkrgH+URwpurdpjDM2lc3v71a9Xl0YxfkwPsaOgb0IYQTpo6hpCRlOcu+OQ?= =?us-ascii?Q?Ah8/iFgWF3l74mu3FnQb3calOJVpho2lZi7CTrgQ8cxqZQW+gscS2R0VYmCG?= =?us-ascii?Q?gnpSVEVHuXa19LjjaGdiMQPFsc8xL1xLVqVHgndlH6xKEqvZdC18jA=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 13:27:38.2670 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d0199f2a-651f-49a4-4548-08dd67b2fbcf X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00021F6D.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB9327 Content-Type: text/plain; charset="utf-8" Provide the vCPU ID of the VMCB in dump_vmcb(). Signed-off-by: Tom Lendacky Acked-by: Borislav Petkov (AMD) Tested-by: Kim Phillips --- arch/x86/kvm/svm/svm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 73b5ab58d2b8..99f2d9de6ce2 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3389,8 +3389,8 @@ static void dump_vmcb(struct kvm_vcpu *vcpu) sev_es_guest(vcpu->kvm) ? "SEV-ES" : sev_guest(vcpu->kvm) ? "SEV" : "SVM"; =20 - pr_err("%s VMCB %p, last attempted VMRUN on CPU %d\n", - vm_type, svm->current_vmcb->ptr, vcpu->arch.last_vmentry_cpu); + pr_err("%s vCPU%u VMCB %p, last attempted VMRUN on CPU %d\n", + vm_type, vcpu->vcpu_id, svm->current_vmcb->ptr, vcpu->arch.last_vm= entry_cpu); pr_err("VMCB Control Area:\n"); pr_err("%-20s%04x\n", "cr_read:", control->intercepts[INTERCEPT_CR] & 0xf= fff); pr_err("%-20s%04x\n", "cr_write:", control->intercepts[INTERCEPT_CR] >> 1= 6); --=20 2.46.2 From nobody Wed Dec 17 08:51:19 2025 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2059.outbound.protection.outlook.com [40.107.220.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A02A21B9E3; Thu, 20 Mar 2025 13:27:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477270; cv=fail; b=pacZmesw72VXL3yHzfFeMrdvs50gml0cg7sKQAk9erx84Nmc/D5xEw019diq4lkI7fqLDCtk4/L/0S/uPj4m0CJI+seqfVpoagxwcIQ2fTuGTri8b0xQOzzBq8GMafmoPeaeu6FIZzH3mSnp2Lxv49Z1I/sJ3Hy0dn5XCGuY4D0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742477270; c=relaxed/simple; bh=cxXDlK4r40JqCSEWv14FCYDr0ohDBHjo4Z14wJnPVUQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BJxundRJDKwVh7XeVBGySPKp0CX/iBToBPm1228F9KpHqwVPPiDh35D/DmTK2N2328yCyMVFz4Po+lHm4mFMY3vfv66gWzK9bY5ZVhdigAANn9QvMriDoJ/WsKBTTqVJklQhwGS5D6lb7hbEkOlC4ei1jOSibUSGqk+qZP7i9RU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=Sd/SA/T1; arc=fail smtp.client-ip=40.107.220.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="Sd/SA/T1" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UVqY2LA8i45s+CBB3LQp2RUThgUVvS2wjJYZrrBYredLEIjd0bsYBsrfraXw9jguAnRck13YebFNN0dynBdcZt5d1g/S0js7sXYfoJRmd+e7f334FfYS64b0lIA8/UJkk/Xd5rWD051LvkOj3nuPoIwmqade5TuGLJ47ehx+8jgwyvqdFXxT3CNBMkDbOip5j1+aqpnVfmKgXaeGZsR+xR4pfX9ylC0WU6AGXUzhP5y9P6GcRp/T1U1mvoE4TPOjHZJ3zjv9VCqmXGbLXyC7GGdIgau+Jhu/+6Lk4QRcUZ1ijPt7EXw8Jm/I1ObKHHxup/8wNzhWTsGP7wlGk4bbnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fLjmeB5J03BrnQVyoqoDe+3hFB6kzGYoB9gZYYu69yQ=; b=Lz2wKniPPR4Zq3X6pedTDoUTP2Jfn6CdF8tyNR5NjRAOXm6ozu2uukoCRtGPdN2lAxTostM0MJhl3QDGA9XSztCio2W0+1J2ENamE+WLtqB+mKeRybOUcITojYbbwg3m7ASKCZVIMqJZ5SZf2u/NhVJoxBL5Pw9dh97jn+ZPXZMHQPX8pTIM8IkHe4mdAtvl2qpevHYHqUGA5tZcDypWSoQFrDepSc/bU6mo9uIFd6eGiqv+xLy4pGyuhrKUm1DtuGhX/Yz60nQZFbyX4IufL9Hn+z+ja6cz/ALb5WsEqSSpOlgKZmEQlMoHYRgpMRs7EWsm9EV4gso5wZYG2GNVyg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fLjmeB5J03BrnQVyoqoDe+3hFB6kzGYoB9gZYYu69yQ=; b=Sd/SA/T1pSOi+YIJAGKBY6XbS+oYohTatqd6XzxxrT2qoKh8wvWExYt4EoxN6d97z3DJMUpu/KgZ2kIcXf5l6HGV6xq7xw3cS7PCPgGyVtGDSojXyPEap0/iH5lL459CirkZBDRJaT6qXPjYR4buhb/zhK8YIx0990fBl+rS6ps= Received: from BL1PR13CA0383.namprd13.prod.outlook.com (2603:10b6:208:2c0::28) by MN2PR12MB4422.namprd12.prod.outlook.com (2603:10b6:208:265::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Thu, 20 Mar 2025 13:27:46 +0000 Received: from BL02EPF00021F68.namprd02.prod.outlook.com (2603:10b6:208:2c0:cafe::da) by BL1PR13CA0383.outlook.office365.com (2603:10b6:208:2c0::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.30 via Frontend Transport; Thu, 20 Mar 2025 13:27:46 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL02EPF00021F68.mail.protection.outlook.com (10.167.249.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 13:27:46 +0000 Received: from tlendack-t1.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 20 Mar 2025 08:27:45 -0500 From: Tom Lendacky To: , , CC: Paolo Bonzini , Sean Christopherson , Borislav Petkov , Dave Hansen , Ingo Molnar , "Thomas Gleixner" , Michael Roth Subject: [PATCH 5/5] KVM: SVM: Add a mutex to dump_vmcb() to prevent concurrent output Date: Thu, 20 Mar 2025 08:26:53 -0500 Message-ID: X-Mailer: git-send-email 2.46.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F68:EE_|MN2PR12MB4422:EE_ X-MS-Office365-Filtering-Correlation-Id: 1ecf26bd-c0dd-4fd7-4647-08dd67b3008d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?bZIc8HHKq701euyQH+Ymt6BCIQvifbhn1SPI5NoBK0rIfBUhGXHpn1nMn4Tt?= =?us-ascii?Q?ro//JfP910UVVH/TylNgVc7EId18Xy2Ws9SA48F+HMCowHloTCBvOXg3lmsw?= =?us-ascii?Q?09uo2+iSmxoOAmT012uvnTuKONTa7M1bprwcNQ41+oYfjEC9kwAuzZOPp8Jg?= =?us-ascii?Q?Tc5A412uksBRvOuqi2WVCh9cgcyRqvCcUZXQYYvclkMUiGk/u2BWJSRw2aSe?= =?us-ascii?Q?67PrMiSOG0fG0kcIWsdceY6NjcZHvXx9Is99tLfXCCcsA1yhiY0RVpE3eAei?= =?us-ascii?Q?A2S+07QJBCmxn/hj6i0NdQEMWGyrlvIJebbaZFJP0Iuk1FWtPm4qh3/NvsB8?= =?us-ascii?Q?oeBD/XTxLfTgyYr1RbQaPi2xfd/S1VDM9KvondScOi/lM7AGhtfgGY6c/ZIu?= =?us-ascii?Q?bUfvklEfBxMGly1EWwinnSh+brpLNXQiJOj22/kAyZCvp22c5Yc4zMuvqHC0?= =?us-ascii?Q?3QXtQ42/aiCVQrwcQRMOjEHEeCTU1X+L1XMKpqnthVKa/NgyFEg7OXE6KdeT?= =?us-ascii?Q?oOsNWMshjPVH5p/G77bq71cEOZBKhSxn+uwfMBk0NV8dIBQPzhNwr4feBHSk?= =?us-ascii?Q?/pd4aUwlXfTs6YtroFaWNp+JM+KgYt8bwGo1zDPR10PAk42ZGJ0uvdPm1pEX?= =?us-ascii?Q?BfNTeumcVyCgeLBpah5tYsr93kPqLb5+SyFf9Kez1y50Wtciwj89Edf0+tWt?= =?us-ascii?Q?jqSY+PAn72tP5VX94iASJHpsjvQo+pKvPyfcbaRne96+ThATYmubs1u4RVKu?= =?us-ascii?Q?IxhFPpeZAXjdVwh+qTD8aa6oCqLO69V1p+SWhYTiI+QY8jUBXDblK1xMdM4V?= =?us-ascii?Q?Hi7TSXiPbwxFe8ckCiDSVVeetX8fqL5TMhNfAO9V6pDnua60Th/nvelS12bT?= =?us-ascii?Q?f18FFzZnGBxQbxsUZnQsKyLpLZ/T8e1p8KznIyxTFo3uEGc9ltmjQsBj3HED?= =?us-ascii?Q?xsBO9KPvi3+B81z157dVlIMYcJ8DV8h64anZmrOm7eSyDQQVfmjMw2somH8F?= =?us-ascii?Q?eeIGK7PAjSJC7MYG6HSgrFzXTXwAOU6qNFyztXAZWj8TXCAh9A/9Q/Ux/2et?= =?us-ascii?Q?lTvk/Acb8GsX72y8UQGvbrna+2gZTxSe7C0zYQux/oyImiPIDcX13S7HEQjS?= =?us-ascii?Q?tlJGt49gcjdcqUAiH8hboZ5DY6XmlAoEPxhnxBvuQU9IAZB4rY6zyqH/HeVY?= =?us-ascii?Q?t0rCv8WNGe5Hk/ubOG0eSXtIAekyn/XC9TF2hcBYV/LLERgWI5z9SGMPyXya?= =?us-ascii?Q?04SaaF7WoQ9XQzEIPZX8OdWdu36dG1YycMpXLR+FxE86I/oNmxjU2CIKfow0?= =?us-ascii?Q?Pjc16o2ELzg+YnXiirL7YAfxZHkzvxjFD+t3VtY0aLOlAX93th6qDs4+rjOG?= =?us-ascii?Q?rHx7Jpd7iD/Yp6orG+Ms7mkYHHcKfKfKqPm2RC7rra5wToRkwVcZkJas31wE?= =?us-ascii?Q?Zk47Fm/c5/toiEui09ZRfjjpSewfSZ0KStzZIb31AAg46aFA8cQb/w=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 13:27:46.2231 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1ecf26bd-c0dd-4fd7-4647-08dd67b3008d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00021F68.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4422 Content-Type: text/plain; charset="utf-8" If multiple VMRUN instructions fail, resulting in calls to dump_vmcb(), the output can become interleaved and it is impossible to identify which line of output belongs to which VMCB. Add a mutex to dump_vmcb() so that the output is serialized. Signed-off-by: Tom Lendacky Acked-by: Borislav Petkov (AMD) Tested-by: Kim Phillips --- arch/x86/kvm/svm/svm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 99f2d9de6ce2..5b62ac06a19e 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -29,6 +29,7 @@ #include #include #include +#include =20 #include #include @@ -249,6 +250,8 @@ static unsigned long iopm_base; =20 DEFINE_PER_CPU(struct svm_cpu_data, svm_data); =20 +static DEFINE_MUTEX(vmcb_dump_mutex); + /* * Only MSR_TSC_AUX is switched via the user return hook. EFER is switche= d via * the VMCB, and the SYSCALL/SYSENTER MSRs are handled by VMLOAD/VMSAVE. @@ -3385,6 +3388,8 @@ static void dump_vmcb(struct kvm_vcpu *vcpu) return; } =20 + guard(mutex)(&vmcb_dump_mutex); + vm_type =3D sev_snp_guest(vcpu->kvm) ? "SEV-SNP" : sev_es_guest(vcpu->kvm) ? "SEV-ES" : sev_guest(vcpu->kvm) ? "SEV" : "SVM"; --=20 2.46.2