Message ID | 20221025124741.228045-1-mlevitsk@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | SMM emulation and interrupt shadow fixes | expand |
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
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!! Best regards, Maxim Levitsky
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. Paolo
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@google.com