From patchwork Thu Mar 20 13:26:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 14023988 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: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: fDI2Swm5aeNEgWMMz5vYsiDMm9LOuMqrgkOqZijhnT14Y5aJoLZ+Q60DTcCOvHkczc241pswUvTmzwhaiEPkC73k07zPRs1KRn/L+l8FZKQ0yutIOJnKHUgHannyeaarVJ46sC/k3R9+eeEBt9/xChyyqt1bmUjC+jPMG/9mdjK/VU7ukEZQrDAdZhetQLzWWW5G1FvCBZbNseHIE9J6bdhBmnokaLlu4OkjKZ5PIoQCrkdN5H1lHDl11KZjha6HgfLYa8yQ/BSesLtiYhCSyuFSczWvb7pCAfe9r8//VAWxh2kpdxy4dswc43D4SlG/OfMnmhT5p6+aFPK0RGICLueC4sAivSNyh8DSI8tIPrYtpiBjQjV/ece4QcG7+7TfWWgf2rdM23TH5ZhQ+P1chaR8PuTCF1TFFNmhsuF+ZB7UFBpgsXN8F8V7awLGKYBvjirgNsr0af8O8Qy/9k/1LsEjiCIPMh80Yxk8b1I1To5FVVmLP6dHDzPrEGh9hCN2YqUgL56oTuCrK/EPq7iNAPB8mdKRbGjFO+f1k4ZMZG8HNhLObZ+F+KA5rTpyu/JwehATpI0ItAYtdhtjF3tlYJt9P9eqHZFITa6FK1JDSXeieEMXwaUh8tHPJ/zyYgnO/lzoKY5RnRwSNC/zl6fOvkYmJn88Rw7UuxEIlI/vBIpNvWbBTVcXiqnDR8LcuQcx+W5R4TIFYnkJqtcE7YhSaJ1OokJf4my8ssPs8czSFhNX9QiJlZkYxXzlSwMaT4hTht0G+ikWibg4N+1tf+C6pFP1sqUaVm6Pp/USCmUMSlGRYQd+DE9dFe2Jls+Ylv0RyQ77vCmCtlzVa1QCd6m+Ieiem7ZImBM5GoJAhhJAXV+De84EgaH5dDnlJM9HNJ7XAfRleNk0Raq3+lmGQrAbqNDXb++48T2VeCFMRlQos8BTHKY5sVh1A6xFh3ZjBbGuRhUJ7njIOW93+Sr3wYEXH32qCwpJSGkVKsl6NlcNXvrzFpRIDASgWf4agLKkGtGF7v3GR4kEXY7i70A2LIS+qzKmZ0yn4ibBSQYL6wx2VjF7HC4bBt4R0coC30zHpOI8rjycmYBFqBBsU+gZSGhn+Vw3bsuSX1wRxm3avDyiCzSnCoznY0QwBZLuWqVzOdJfn6FzXQyNZ0TovedSwJCAsxn8niIKsUiZ9K47wGKHcfQVAEhjyxyAkWm6q+NAYR7+hq42VdXmYExjtSpDcMzslEFhYxo7UECNKr86/QE8vpF82wwIuz2oMQNcboYkCOn4WAn7T3UyRUUllC4IsVkFtX384zqnstgB1d+CcrKjpRaL/e3BOli6K/GWpJidctlN3Z7Y6ghtWPXuZQYz1tNQ3+5HWl2AN5eN9OPAdtxfQG1AZBW1DyHKrBXZpFkeG9mn+x8/m98lcvwElrikFD0/GgNENPUKE3zO6cNZznUevI4JZQ7cNO3Uk3kYzyKHF+CIrHOcTI9LzKBpsIZJDVvaz5JKmCI7+dDL1Vq80nILw78= 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 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 --- 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; + sev->policy = params.policy; + memset(&start, 0, sizeof(start)); dh_blob = NULL; @@ -2220,6 +2222,8 @@ static int snp_launch_start(struct kvm *kvm, struct kvm_sev_cmd *argp) if (params.policy & SNP_POLICY_MASK_SINGLE_SOCKET) return -EINVAL; + sev->policy = params.policy; + sev->snp_context = snp_context_create(kvm, argp); if (!sev->snp_context) return -ENOTTY; @@ -4975,3 +4979,97 @@ int sev_private_max_mapping_level(struct kvm *kvm, kvm_pfn_t pfn) return level; } + +struct vmcb_save_area *sev_decrypt_vmsa(struct kvm_vcpu *vcpu) +{ + struct vcpu_svm *svm = to_svm(vcpu); + struct vmcb_save_area *vmsa; + struct kvm_sev_info *sev; + int error = 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 = 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 = {0}; + + vmsa = snp_alloc_firmware_page(__GFP_ZERO); + if (!vmsa) + return NULL; + + dbg.gctx_paddr = __psp_pa(sev->snp_context); + dbg.src_addr = svm->vmcb->control.vmsa_pa; + dbg.dst_addr = __psp_pa(vmsa); + + ret = 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=%d, fw_error=%d (%#x)\n", + ret, error, error); + free_page((unsigned long)vmsa); + + return NULL; + } + } else { + struct sev_data_dbg dbg = {0}; + struct page *vmsa_page; + + vmsa_page = alloc_page(GFP_KERNEL); + if (!vmsa_page) + return NULL; + + vmsa = page_address(vmsa_page); + + dbg.handle = sev->handle; + dbg.src_addr = svm->vmcb->control.vmsa_pa; + dbg.dst_addr = __psp_pa(vmsa); + dbg.len = PAGE_SIZE; + + ret = sev_issue_cmd(vcpu->kvm, SEV_CMD_DBG_DECRYPT, &dbg, &error); + if (ret) { + pr_err("SEV: SEV_CMD_DBG_DECRYPT failed ret=%d, fw_error=%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 = sev_decrypt_vmsa(vcpu); + if (!save) + goto no_vmsa; + + save01 = 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); } 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 */ }; +#define SEV_POLICY_NODBG BIT_ULL(0) +#define SNP_POLICY_DEBUG BIT_ULL(19) + struct kvm_svm { struct kvm kvm; @@ -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_order); 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; } +static inline struct vmcb_save_area *sev_decrypt_vmsa(struct kvm_vcpu *vcpu) +{ + return NULL; +} +static inline void sev_free_decrypted_vmsa(struct kvm_vcpu *vcpu, struct vmcb_save_area *vmsa) {} #endif /* vmenter.S */ From patchwork Thu Mar 20 13:26:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 14023989 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: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: Z0PbIRIixBNxFogtlmnZgFncsWxbZAptoiloQY2J3EGN3fEqpWFG+CfTmcjYB2QRo33yqHNLqRtjV93zgTnDypdPmRJS0EIdnGnYH3600fiRWahsopcu0sly7HAzHvBUwtwTFJvmJS7QWyYsd7aOjVCB3O2oTScFYkCfURTWTzZN3FyN4IXN2kaV+2/DF40t5chqBg1dlfeQRrLWrlGie+9hGtXv5zk2vsy+755Dh8sQnNlb+uJ00m3SM2KyFcWbtsSCHXhKjsWsouRgTrgOFGgFIR4gkpVyePkOJItSVmAimNdo/BJeLfuzDRX8AwOiDfalkc+FWgUH/wty2aptBRJTRDf52GSzimHjZ0A7lH8FN1roElWbcrXfU448YXlHqYtC+/NGTMjadobAkZPrpXuQoSgk9ZJFhtY8nByAX3KN0UAz90FVDWg+mUv3Mj+nBARINvqAPbcK3H9gZDnsqSeW0N07mUOS28qMbiA186/xU5WySLsrgLWNWMIhQ/mSqDSWzh9zdPG/1Mbt84sNzr+IBdDi4LZWogSTvQKhhfjs488q2xNStdSPYelWNFWOdjGKAo1gqNu09lVz6L+hkZ9nKFNEXRrXVuzrLSY/qBgUTLT/tiJejqYgLNhwS7shKzbVGfnZeGAm7dkNb4d6QEbyx1GPnWVY8SxKcWMYwk62gBMUS2gCyZ6ucHDqFbOUf2Mt0wv2H0sfvx5aSlgaxqy44H2E81wT+ueCMOSJ0VtXcsjFdBPo/LaGuev9o+zvvIOvKDCpR2ufWBQvH7oUH7Et0G6DBoKwgkpHHREqq5hHODDEFJrK//a6PAXIXl8C8hn9MWD5FirMaJNStdnTLEnMsonTWpkun3Q0Cbgz4+mk+Bfck1oxg6+pn2WU5wRuPOyxpRYvln+dnh2JlGQfSgLe2RrTf05CnR//6KocfwZU56t6awSOgeHwRFZhpUAGH1ci/iqSm6P4WdkAmDY6Kk1R89mV+EDY1ci/DcYKV9pHo7+SzuxmC4zlk4BpnggtDIXmcEcA1ioOebKq8dBu57J2JyD6oOaHdsm7D691nKCY4t3+oYnDbW3VY/T4mGr/BpkMLyxyv0lFFKxFGOZsZG8mwRED/ch/sKtBvazPnv2rVgGmQZdOgf/hld3avASpXoOux/lij6k35fMnVIj3Bzdd2jqDoFZcCxb3RI8gp9vZ6uy/Ae3jOKLW2hQ7c+0b2y2dGDwamKlfgib26JsohUxGuL3z6gslRFMgy1xsg3P0kKrCcUisoyWjrScUc7aGYCmJ+EBLd+h4r4KbcpOcwH2euc9Vk9Ze2N2xck4kr5U+7frRsBsIkxypfEKk5gVsEkJr1BQBspyCghDabO3+xRmfg6ItDqO3Lw4AbbThworMsHU2Vwh2z9u40Br2xZjDT8omnPbKn2yxPUhlcjpR+azCGRTa0VbB/j7y/eywWJFtc/C4CZz9kzGbdduGfAQ+mEVxPTBIaMwFBQAW94cAGQ== 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 Guest register state can be useful when debugging, include it as part of dump_vmcb(). Signed-off-by: Tom Lendacky --- 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); + if (sev_es_guest(vcpu->kvm)) { + struct sev_es_save_area *vmsa = (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); From patchwork Thu Mar 20 13:26:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 14023990 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: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 4NIdBI0n2MJ0pEh4WTItlOocZGacxKaT6UxKOItufcZXYQKJdnksoxiGgcuvEhd2j/60bqW9CUBdpsre+uWqMG5nu/mwz0kT69pQuod+FUXOnTdbrEyuAzK7VAqVD0H4Dde7NCYZ0SRaL3QDt62KavcMYtVKYyfxeGigRC2IpefN95m5AkceMgXK6y6nW/U1yUyTAN/pFwFnBjvHMJu8OeA1E46TZ+rU6f/tsfnOD8bKrTlZ80/jbXqa88Hf2Mze3lNQ0TWJ1qVS1lxe1ktW0dH8zIZ0AR0X1/RAHtoKR4M1FRyhZ48rP2jRAvOJayn16DDSGHaLdh/tQvwvk0LY7uH0KQp99KdRKWPKPiPMcdSqLFxe00iRYQbi0vXwqlkmF9Kvmf0j9TxPnkh9bjjS1FfrXagLURsENHj2rxZYJNXxLIXF6ILm20N6QIH/oT/iKL+mQYXAz91QW6q2E42qpCKMdA1adGo1gnkk5Uwe+P8KbGBVQobvuS72lKBbUG/7ElJ8cWmmcU9OAeEfrBb4KWxIu3bfNMmyBmRF3u4H/nCnUFX0G8+c2aZJMGBOXR/tFKsTPOzux3s8Mv9CDBg1/Nd5E4zqc8sF208abLIh+aNG5W8/YuWvZengr0hm5OwpkxX8ajg3nN9VH/9aYVEKctny6IPthoSC9n0A7LTH80FP+3IVd05Cj2daVyPsXf3iii4rmijgwzgw/mK2oNQrFyY127+NdYVQJ0R0tZMPd7m9biCz2EGr6uxplFFrUWTOzBOLq1y+EN/uNhUStgILXxqTInxCfB8pQzb9lLJ/YwLeUBf3z8n5ia62JpfSiI/Fiu/iTA/fw0DqR5I26zAXmsZKYzbFqFKTwQodqSbj+UnonGW4hY78B0W+PVdbXtfSgefm6xUO3iqWQp6sXP+EtLhOKyK4fxdr9DNkQcHFbGxXdBJznvpnQWLrw9TH3xRtWcofClSZd/tqJW94Lq82aQDpqBwcS+HrwBOAY+zgDuWrVcohrZQwkZkYBLsFB9oyXJ6Dpz0EozyGMSIiUHOWxpzfBopLccf/PqinULtTEkaGfLBnBlVH3m0FFrBORCfnA1gZMbj6VNC6C5dgdiWLLLvQ9z0++S+fqXJ/Zk/ZGfxwqBKigPqkI0DGKPRFPBkj0VyoPNL/RNgXiuDOSpgBHsKDlhfQYIei20dHelwNxWc/FpjqX5NJmsogR4KlRR55m+OxBYS/SeeZO8HwEMm1V2QAk7DOMGIMSyEcry4HpvwakBbXYnY4rxoJvYX7l3JBOZfLWu1I8nUWsPMWgeJDoCdX5RBi4m4kQUIeSZQ3w4sqoI/rkZKpU4g3ERmD+F+qYg6iAamztjQayIXt5SBweyxI9l9Zd6RVpgvvL6+E2AN2sxG+SRKH3axcknH3U4rmakOLWlUE5KqY+3mv0A8tOsoecuLV70WjakS4xO8Q129syUb3Jc43DhoQr7T/CrLlVVQ8cJYRMhiMOli2NjJymQ== 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 Add the type of VM (SVM, SEV, SEV-ES, or SEV-SNP) being dumped to the dump_vmcb() function. Signed-off-by: Tom Lendacky --- 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 = &svm->vmcb->control; struct vmcb_save_area *save = &svm->vmcb->save; struct vmcb_save_area *save01 = &svm->vmcb01.ptr->save; + char *vm_type; if (!dump_invalid_vmcb) { pr_warn_ratelimited("set kvm_amd.dump_invalid_vmcb=1 to dump internal KVM state.\n"); return; } - pr_err("VMCB %p, last attempted VMRUN on CPU %d\n", - svm->current_vmcb->ptr, vcpu->arch.last_vmentry_cpu); + vm_type = 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] & 0xffff); pr_err("%-20s%04x\n", "cr_write:", control->intercepts[INTERCEPT_CR] >> 16); From patchwork Thu Mar 20 13:26:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 14023991 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: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: iHAGwsEwJTh/W64yc1N9wM2p3soaXMLr8zkLFu6azBfDeFKpHry0qZmthssJqPLQFVO++zDf4cfo6hjF3XdhvdPDXKlMU+sx2cssXi2W4p6Qivg2InsKxerWq5nNA4sVd6WXu61nOf0xBv+6kf35VZsEcckhPDcXIM0LaGcG3rXUWsrZMBDUTQn1PNXKYmfaVWSDT+iAMWBzrw4m4EThQzw3DoOXPdmeSSs3bVIOieYR9BRNQiLvnk3AyWRohft1hyulNz0BoVdZmhbs2v8e1kAbuwY1a2X/NztBjezQZ/dpFOgfn72IqVwa5IvAdiynWTJzNl1/WW0wxbv6RTD48LuTqCw+E34EEaCq+esY31A/Ty5F16G9Q65Y8CkmhxLMl8OlPtW9xMRjOlE05gMk+Wa8KBh5ldNWorro56xycoyjbNY+043jvKnFCQXcMj9ukBS2d1upuFXlOlR3gWWwe1V8D0/SghvWVDNl10lobJVtzwTfosU/0dt00MlPy4tfQJpXJnEqdTBDhOHy+nkfqMRYKWeqUFXMjU8MCTTNtgNaFn1U4y9Lg8Ve1rZuZyNaxI/mWmpL7cT/LFP73bVjQUwpB49l9mT3olS0GzbA74J3OWoj+SUDvpS9LEmsJuCV/BS0u71XQzvyduLme1UmQkw4iQ3Fc/ttvIVidZMkt8Ir4OVrgAZQlkTMsFsVBTExC+PCUWi7L78s/+RtwrkcmDaTRROXGvfLH57CxB/6J1XDn3TqmwWpGHQFpk2BhkYSBLX0VY9LC2D1Ro9opi5AU4sXYv/haU58cwads3bK1hY6SLg4nN3/SqsOM87R2C/MWK/u5mJuwyN2quY1c4n92ycSNLkgu6alKsNoiXZXC0jU/Ibg1sm997kEqqKTOTGg2oVvv6gpkWi3mivHbmacLMMTD99/WgSLoF9cNiYV8rKjuro/xaJdgBRmVoXxsZeYYMj64fa/FJdgH6nzn0L8bIB58JIWDtF7Hfz+w56M6WDmANnscKlg3zVVCgW6IYUJLv+hNNEw0sqoDbjzEkeRPY8LyxErHG2qdK1xbtnZMfGrrwRLe3NDhiF+w0HlEFiabFPwlErkRlYAYsSW1ct1WjtKJ0C1GTlEf84tlyehObPswMmuBc7DfcO0KSaCmh8KNRYLVSiJToa51pUNaDPljghFi503wPZz9BoYaFiH5/Qe2ad/aCRzRu9HF8E6UyHvr6nbhThWduy8Zy3d2A0iQHUWRzdAKpUR6TfbhyYzL7wJUD0QBAAu/EJkX3cN5u5DiktRx5MicDfPtIi0QD2BjkIsIfOStaeQRVFX2L8IbGkrgH+URwpurdpjDM2lc3v71a9Xl0YxfkwPsaOgb0IYQTpo6hpCRlOcu+OQAh8/iFgWF3l74mu3FnQb3calOJVpho2lZi7CTrgQ8cxqZQW+gscS2R0VYmCGgnpSVEVHuXa19LjjaGdiMQPFsc8xL1xLVqVHgndlH6xKEqvZdC18jA== 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 Provide the vCPU ID of the VMCB in dump_vmcb(). Signed-off-by: Tom Lendacky --- 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"; - 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_vmentry_cpu); pr_err("VMCB Control Area:\n"); pr_err("%-20s%04x\n", "cr_read:", control->intercepts[INTERCEPT_CR] & 0xffff); pr_err("%-20s%04x\n", "cr_write:", control->intercepts[INTERCEPT_CR] >> 16); From patchwork Thu Mar 20 13:26:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 14023992 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: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: bZIc8HHKq701euyQH+Ymt6BCIQvifbhn1SPI5NoBK0rIfBUhGXHpn1nMn4Ttro//JfP910UVVH/TylNgVc7EId18Xy2Ws9SA48F+HMCowHloTCBvOXg3lmsw09uo2+iSmxoOAmT012uvnTuKONTa7M1bprwcNQ41+oYfjEC9kwAuzZOPp8JgTc5A412uksBRvOuqi2WVCh9cgcyRqvCcUZXQYYvclkMUiGk/u2BWJSRw2aSe67PrMiSOG0fG0kcIWsdceY6NjcZHvXx9Is99tLfXCCcsA1yhiY0RVpE3eAeiA2S+07QJBCmxn/hj6i0NdQEMWGyrlvIJebbaZFJP0Iuk1FWtPm4qh3/NvsB8oeBD/XTxLfTgyYr1RbQaPi2xfd/S1VDM9KvondScOi/lM7AGhtfgGY6c/ZIubUfvklEfBxMGly1EWwinnSh+brpLNXQiJOj22/kAyZCvp22c5Yc4zMuvqHC03QXtQ42/aiCVQrwcQRMOjEHEeCTU1X+L1XMKpqnthVKa/NgyFEg7OXE6KdeToOsNWMshjPVH5p/G77bq71cEOZBKhSxn+uwfMBk0NV8dIBQPzhNwr4feBHSk/pd4aUwlXfTs6YtroFaWNp+JM+KgYt8bwGo1zDPR10PAk42ZGJ0uvdPm1pEXBfNTeumcVyCgeLBpah5tYsr93kPqLb5+SyFf9Kez1y50Wtciwj89Edf0+tWtjqSY+PAn72tP5VX94iASJHpsjvQo+pKvPyfcbaRne96+ThATYmubs1u4RVKuIxhFPpeZAXjdVwh+qTD8aa6oCqLO69V1p+SWhYTiI+QY8jUBXDblK1xMdM4VHi7TSXiPbwxFe8ckCiDSVVeetX8fqL5TMhNfAO9V6pDnua60Th/nvelS12bTf18FFzZnGBxQbxsUZnQsKyLpLZ/T8e1p8KznIyxTFo3uEGc9ltmjQsBj3HEDxsBO9KPvi3+B81z157dVlIMYcJ8DV8h64anZmrOm7eSyDQQVfmjMw2somH8FeeIGK7PAjSJC7MYG6HSgrFzXTXwAOU6qNFyztXAZWj8TXCAh9A/9Q/Ux/2etlTvk/Acb8GsX72y8UQGvbrna+2gZTxSe7C0zYQux/oyImiPIDcX13S7HEQjStlJGt49gcjdcqUAiH8hboZ5DY6XmlAoEPxhnxBvuQU9IAZB4rY6zyqH/HeVYt0rCv8WNGe5Hk/ubOG0eSXtIAekyn/XC9TF2hcBYV/LLERgWI5z9SGMPyXya04SaaF7WoQ9XQzEIPZX8OdWdu36dG1YycMpXLR+FxE86I/oNmxjU2CIKfow0Pjc16o2ELzg+YnXiirL7YAfxZHkzvxjFD+t3VtY0aLOlAX93th6qDs4+rjOGrHx7Jpd7iD/Yp6orG+Ms7mkYHHcKfKfKqPm2RC7rra5wToRkwVcZkJas31wEZk47Fm/c5/toiEui09ZRfjjpSewfSZ0KStzZIb31AAg46aFA8cQb/w== 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 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 --- 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 #include #include @@ -249,6 +250,8 @@ static unsigned long iopm_base; DEFINE_PER_CPU(struct svm_cpu_data, svm_data); +static DEFINE_MUTEX(vmcb_dump_mutex); + /* * Only MSR_TSC_AUX is switched via the user return hook. EFER is switched 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; } + guard(mutex)(&vmcb_dump_mutex); + vm_type = sev_snp_guest(vcpu->kvm) ? "SEV-SNP" : sev_es_guest(vcpu->kvm) ? "SEV-ES" : sev_guest(vcpu->kvm) ? "SEV" : "SVM";