On Mon, Nov 11, 2024, Ivan Orlov wrote: > Currently, the situation when guest accesses MMIO during vectoring is > handled differently on VMX and SVM: on VMX KVM returns internal error, > when SVM goes into infinite loop trying to deliver an event again and > again. > > This patch series eliminates this difference by returning a KVM internal > error when guest performs MMIO during vectoring for both VMX and SVM. > > Also, introduce a selftest test case which covers the error handling > mentioned above. > > V1 -> V2: > - Make commit messages more brief, avoid using pronouns > - Extract SVM error handling into a separate commit > - Introduce a new X86EMUL_ return type and detect the unhandleable > vectoring error in vendor-specific check_emulate_instruction instead of > handling it in the common MMU code (which is specific for cached MMIO) > > Ivan Orlov (6): > KVM: x86: Add function for vectoring error generation > KVM: x86: Add emulation status for vectoring during MMIO > KVM: VMX: Handle vectoring error in check_emulate_instruction > KVM: SVM: Handle MMIO during vectroing error > selftests: KVM: extract lidt into helper function > selftests: KVM: Add test case for MMIO during vectoring Minor nits throughout, but unless you disagree with my suggestions, I'll fix them up when applying, i.e. no need to post a v3.