[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250715084357.GCaHYUzeqvBxJyGVsg@fat_crate.local>
Date: Tue, 15 Jul 2025 10:43:57 +0200
From: Borislav Petkov <bp@...en8.de>
To: Nikunj A Dadhania <nikunj@....com>
Cc: Sean Christopherson <seanjc@...gle.com>,
Tom Lendacky <thomas.lendacky@....com>,
linux-kernel@...r.kernel.org, x86@...nel.org, tglx@...utronix.de,
mingo@...hat.com, dave.hansen@...ux.intel.com,
santosh.shukla@....com
Subject: Re: [PATCH] x86/sev: Improve handling of writes to intercepted
GUEST_TSC_FREQ
On Tue, Jul 15, 2025 at 08:37:38AM +0000, Nikunj A Dadhania wrote:
> Currently, when a Secure TSC enabled SNP guest attempts to write to
> the intercepted GUEST_TSC_FREQ MSR (a read-only MSR), the guest kernel
> #VC handler terminates the SNP guest by returning ES_VMM_ERROR. This
> response incorrectly implies a VMM configuration error, when in fact
> it's a valid VMM configuration to intercept writes to read-only MSRs,
Not only valid - it is the usual thing the HV does with MSRs IMHO.
> unless explicitly documented.
>
> Modify the intercepted GUEST_TSC_FREQ MSR #VC handler to ignore writes
> instead of terminating the guest. Since GUEST_TSC_FREQ is a guest-only
> MSR, ignoring writes directly (rather than forwarding to the VMM and
> handling the resulting #GP) eliminates a round trip to the VMM.
Probably.
But I think the main point here is that this is the default action the HV
does.
> Add a
> WARN_ONCE to log the incident, as well-behaved guest kernels should
> never attempt to write to this read-only MSR.
>
> However, continue to terminate the guest(via ES_VMM_ERROR) when
ES_EXCEPTION
> reading from intercepted GUEST_TSC_FREQ MSR with Secure TSC enabled,
> as intercepted reads indicate an improper VMM configuration for Secure
> TSC enabled SNP guests.
It is getting close to the gist of what we talked yesterday tho.
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists