Re: [PATCH RESEND v4 00/23] SMM emulation and interrupt shadow fixes

From: Sean Christopherson
Date: Fri Oct 28 2022 - 18:42:34 EST


On Fri, Oct 28, 2022, Paolo Bonzini wrote:
> On 10/27/22 19:06, Maxim Levitsky wrote:
> > On Thu, 2022-10-27 at 18:49 +0200, Paolo Bonzini wrote:
> > > On 10/25/22 14:47, Maxim Levitsky wrote:
> > > > This patch series is a result of long debug work to find out why
> > > > sometimes guests with win11 secure boot
> > > > were failing during boot.
> > > >
> > > > During writing a unit test I found another bug, turns out
> > > > that on rsm emulation, if the rsm instruction was done in real
> > > > or 32 bit mode, KVM would truncate the restored RIP to 32 bit.
> > > >
> > > > I also refactored the way we write SMRAM so it is easier
> > > > now to understand what is going on.
> > > >
> > > > The main bug in this series which I fixed is that we
> > > > allowed #SMI to happen during the STI interrupt shadow,
> > > > and we did nothing to both reset it on #SMI handler
> > > > entry and restore it on RSM.
> > >
> > > I have now sent out the final/new version of the first 8 patches and
> > > will review these tomorrow. Thanks for your patience. :)
> > >
> > > Paolo
> > >
> > Thank you very much!!
>
> Queued, thanks. Note that some emulator patches should go in stable
> releases so I have reordered them in front.

Can you fix patch 04 (also patch 04 in your series[*]) before pushing to kvm/queue?
The unused variable breaks CONFIG_KVM_WERROR=y builds.

arch/x86/kvm/smm.c: In function ‘emulator_leave_smm’:
arch/x86/kvm/smm.c:567:33: error: unused variable ‘efer’ [-Werror=unused-variable]
567 | unsigned long cr0, cr4, efer;
| ^~~~
arch/x86/kvm/smm.c:567:28: error: unused variable ‘cr4’ [-Werror=unused-variable]
567 | unsigned long cr0, cr4, efer;
|

[*] https://lore.kernel.org/all/Y1xNso2nYZkSSZ0T@xxxxxxxxxx