Paolo Bonzini <pbonzini@xxxxxxxxxx> writes: > On 03/03/20 15:33, Vitaly Kuznetsov wrote: >> Commit c44b4c6ab80e ("KVM: emulate: clean up initializations in >> init_decode_cache") reduced the number of fields cleared by >> init_decode_cache() claiming that they are being cleared elsewhere, >> 'intercept', however, seems to be left uncleared in some cases. >> >> The issue I'm observing manifests itself as following: >> after commit 07721feee46b ("KVM: nVMX: Don't emulate instructions in guest >> mode") Hyper-V guests on KVM stopped booting with: >> >> kvm_nested_vmexit: rip fffff802987d6169 reason EPT_VIOLATION info1 181 >> info2 0 int_info 0 int_info_err 0 >> kvm_page_fault: address febd0000 error_code 181 >> kvm_emulate_insn: 0:fffff802987d6169: f3 a5 >> kvm_emulate_insn: 0:fffff802987d6169: f3 a5 FAIL >> kvm_inj_exception: #UD (0x0) > > Slightly rephrased: > > After commit 07721feee46b ("KVM: nVMX: Don't emulate instructions in guest > mode") Hyper-V guests on KVM stopped booting with: > > kvm_nested_vmexit: rip fffff802987d6169 reason EPT_VIOLATION info1 181 > info2 0 int_info 0 int_info_err 0 > kvm_page_fault: address febd0000 error_code 181 > kvm_emulate_insn: 0:fffff802987d6169: f3 a5 > kvm_emulate_insn: 0:fffff802987d6169: f3 a5 FAIL > kvm_inj_exception: #UD (0x0) > > "f3 a5" is a "rep movsw" instruction, which should not be intercepted > at all. Commit c44b4c6ab80e ("KVM: emulate: clean up initializations in > init_decode_cache") reduced the number of fields cleared by > init_decode_cache() claiming that they are being cleared elsewhere, > 'intercept', however, is left uncleared if the instruction does not have > any of the "slow path" flags (NotImpl, Stack, Op3264, Sse, Mmx, CheckPerm, > NearBranch, No16 and of course Intercept itself). Much better, thanks) Please let me know if you want me to resubmit. -- Vitaly