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; |