On Mon, Oct 02, 2023, Tom Lendacky wrote: > Commit 916e3e5f26ab ("KVM: SVM: Do not use user return MSR support for > virtualized TSC_AUX") introduced a local variable used for the rdmsr() > function for the high 32-bits of the MSR value. This variable is not used > after being set and triggers a warning or error, when treating warnings > as errors, when the unused-but-set-variable flag is set. Mark this > variable as __maybe_unused to fix this. > > Fixes: 916e3e5f26ab ("KVM: SVM: Do not use user return MSR support for virtualized TSC_AUX") > Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> > --- > arch/x86/kvm/svm/svm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index 9507df93f410..4c917c74a4d3 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -691,7 +691,7 @@ static int svm_hardware_enable(void) > */ > if (boot_cpu_has(X86_FEATURE_V_TSC_AUX)) { > struct sev_es_save_area *hostsa; > - u32 msr_hi; > + u32 __maybe_unused msr_hi; Argh, the abomination that is rdmsrl() strikes again :-/ We really should be able to do: hostsa->tsc_aux = (u32)rdmsrl(MSR_TSC_AUX); I don't see a better quick fix than __maybe_unused though. Reviewed-by: Sean Christopherson <seanjc@xxxxxxxxxx>