Jan Kiszka wrote:
- - if (!npt_enabled && event_injection) - kvm_mmu_unprotect_page_virt(&svm->vcpu, fault_address); + else { + if (svm->vcpu.arch.interrupt.pending || + svm->vcpu.arch.exception.pending) + kvm_mmu_unprotect_page_virt(&svm->vcpu, fault_address); + }Without understanding yet why kvm_mmu_unprotect_page_virt is required here,
That is needed in case interrupt injection failed because the process of injecting the interrupt (usually pushing data on the stack) writes to a write-protected page table.
I guess we need nmi_pending here as well. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
