Re: [PATCH v2 2/8] KVM: SVM: replace regs argument of __svm_vcpu_run with vcpu_svm

From: Paolo Bonzini
Date: Wed Nov 09 2022 - 05:36:54 EST


On 11/8/22 21:54, Sean Christopherson wrote:
On Tue, Nov 08, 2022, Paolo Bonzini wrote:
Since registers are reachable through vcpu_svm, and we will
need to access more fields of that struct, pass it instead
of the regs[] array.

No functional change intended.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: f14eec0a3203 ("KVM: SVM: move more vmentry code to assembly")

I don't think a Fixes: tag for a pure nop patch is fair to the original commit.

That's for the sake of correct tracking in stable@, still it's not the right commit to point at:

- f14eec0a3203 did not move the RSB stuffing before the GSBASE restore, the code before was:

vmexit_fill_RSB();
#ifdef CONFIG_X86_64
wrmsrl(MSR_GS_BASE, svm->host.gs_base);
#else

- anyway it wasn't really buggy at the time: it's only in -next that FILL_RETURN_BUFFER uses percpu data, because alternatives take care of the X86_FEATURE_* checks

The real reason to do all this is to access the percpu host spec_ctrl, which in turn is needed for retbleed. I'll point the Fixes tag to a149180fbcf3 ("x86: Add magic AMD return-thunk") instead, again just for the sake of tracking releases that need the change to full fix retbleed.

Paolo