From: "tip-bot2 for Nikunj A Dadhania" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Nikunj A Dadhania <nikunj@amd.com>,
"Borislav Petkov (AMD)" <bp@alien8.de>,
Tom Lendacky <thomas.lendacky@amd.com>,
Peter Gonda <pgonda@google.com>,
x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [tip: x86/sev] x86/sev: Prevent RDTSC/RDTSCP interception for Secure TSC enabled guests
Date: Thu, 09 Jan 2025 09:43:45 -0000 [thread overview]
Message-ID: <173641582594.399.4506250825502984197.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20250106124633.1418972-9-nikunj@amd.com>
The following commit has been merged into the x86/sev branch of tip:
Commit-ID: eef679a4b52e35be3b4a982a7f42bcc16054ec62
Gitweb: https://git.kernel.org/tip/eef679a4b52e35be3b4a982a7f42bcc16054ec62
Author: Nikunj A Dadhania <nikunj@amd.com>
AuthorDate: Mon, 06 Jan 2025 18:16:28 +05:30
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Tue, 07 Jan 2025 21:26:20 +01:00
x86/sev: Prevent RDTSC/RDTSCP interception for Secure TSC enabled guests
The hypervisor should not be intercepting RDTSC/RDTSCP when Secure TSC is
enabled. A #VC exception will be generated if the RDTSC/RDTSCP instructions
are being intercepted. If this should occur and Secure TSC is enabled,
guest execution should be terminated as the guest cannot rely on the TSC
value provided by the hypervisor.
Signed-off-by: Nikunj A Dadhania <nikunj@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Tested-by: Peter Gonda <pgonda@google.com>
Link: https://lore.kernel.org/r/20250106124633.1418972-9-nikunj@amd.com
---
arch/x86/coco/sev/shared.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/x86/coco/sev/shared.c b/arch/x86/coco/sev/shared.c
index 71de531..4386f37 100644
--- a/arch/x86/coco/sev/shared.c
+++ b/arch/x86/coco/sev/shared.c
@@ -1140,6 +1140,16 @@ static enum es_result vc_handle_rdtsc(struct ghcb *ghcb,
bool rdtscp = (exit_code == SVM_EXIT_RDTSCP);
enum es_result ret;
+ /*
+ * The hypervisor should not be intercepting RDTSC/RDTSCP when Secure
+ * TSC is enabled. A #VC exception will be generated if the RDTSC/RDTSCP
+ * instructions are being intercepted. If this should occur and Secure
+ * TSC is enabled, guest execution should be terminated as the guest
+ * cannot rely on the TSC value provided by the hypervisor.
+ */
+ if (sev_status & MSR_AMD64_SNP_SECURE_TSC)
+ return ES_VMM_ERROR;
+
ret = sev_es_ghcb_hv_call(ghcb, ctxt, exit_code, 0, 0);
if (ret != ES_OK)
return ret;
next prev parent reply other threads:[~2025-01-09 9:43 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-06 12:46 [PATCH v16 00/13] Add Secure TSC support for SNP guests Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 01/13] virt: sev-guest: Remove is_vmpck_empty() helper Nikunj A Dadhania
2025-01-07 18:38 ` Tom Lendacky
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 02/13] virt: sev-guest: Replace GFP_KERNEL_ACCOUNT with GFP_KERNEL Nikunj A Dadhania
2025-01-07 18:40 ` Tom Lendacky
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 03/13] x86/sev: Carve out and export SNP guest messaging init routines Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 04/13] x86/sev: Relocate SNP guest messaging routines to common code Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 05/13] x86/sev: Add Secure TSC support for SNP guests Nikunj A Dadhania
2025-01-07 10:42 ` Borislav Petkov
2025-01-07 11:43 ` Nikunj A. Dadhania
2025-01-07 12:37 ` Borislav Petkov
2025-01-07 18:53 ` Tom Lendacky
2025-01-07 19:18 ` Borislav Petkov
2025-01-08 7:47 ` Nikunj A. Dadhania
2025-01-08 8:05 ` Borislav Petkov
2025-01-08 8:37 ` Nikunj A. Dadhania
2025-01-08 8:43 ` Borislav Petkov
2025-01-07 19:46 ` Tom Lendacky
2025-01-07 19:53 ` Borislav Petkov
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 06/13] x86/sev: Change TSC MSR behavior for Secure TSC enabled guests Nikunj A Dadhania
2025-01-07 20:09 ` Tom Lendacky
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 07/13] x86/sev: Prevent GUEST_TSC_FREQ MSR interception " Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 08/13] x86/sev: Prevent RDTSC/RDTSCP " Nikunj A Dadhania
2025-01-09 9:43 ` tip-bot2 for Nikunj A Dadhania [this message]
2025-01-06 12:46 ` [PATCH v16 09/13] x86/sev: Mark Secure TSC as reliable clocksource Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] x86/sev: Mark the TSC in a secure TSC guest as reliable tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 10/13] x86/tsc: Switch Secure TSC guests away from kvm-clock Nikunj A Dadhania
2025-01-07 15:16 ` Borislav Petkov
2025-01-08 10:45 ` Nikunj A. Dadhania
2025-01-09 9:43 ` [tip: x86/sev] x86/tsc: Init the TSC for Secure TSC guests tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 11/13] x86/tsc: Upgrade TSC clocksource rating for guests Nikunj A Dadhania
2025-01-07 17:51 ` Borislav Petkov
2025-01-06 12:46 ` [PATCH v16 12/13] x86/tsc: Switch to native sched clock Nikunj A Dadhania
2025-01-07 19:37 ` Borislav Petkov
2025-01-08 5:20 ` Nikunj A. Dadhania
2025-01-08 8:22 ` Borislav Petkov
2025-01-08 8:34 ` Nikunj A. Dadhania
2025-01-08 10:20 ` Nikunj A. Dadhania
2025-01-08 14:00 ` Sean Christopherson
2025-01-08 15:34 ` Borislav Petkov
2025-01-08 17:02 ` Sean Christopherson
2025-01-08 19:53 ` Borislav Petkov
2025-01-09 6:32 ` Nikunj A. Dadhania
2025-01-15 21:37 ` Sean Christopherson
2025-01-16 16:25 ` Borislav Petkov
2025-01-16 16:56 ` Sean Christopherson
2025-01-17 20:28 ` Borislav Petkov
2025-01-17 20:59 ` Sean Christopherson
2025-01-21 11:32 ` Borislav Petkov
2025-01-21 3:59 ` Nikunj A. Dadhania
2025-01-28 5:41 ` Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 13/13] x86/sev: Allow Secure TSC feature for SNP guests Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] x86/sev: Add the " tip-bot2 for Nikunj A Dadhania
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=173641582594.399.4506250825502984197.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=nikunj@amd.com \
--cc=pgonda@google.com \
--cc=thomas.lendacky@amd.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®