Re: [Qemu-devel] [PATCH] KVM: x86: handle KVM_SET_VCPU_EVENTS/KVM_VCPUEVENT_VALID_SMM properly
2016-10-08 11:31+0800, Herongguang (Stephen): > On 2016/9/23 12:59, herongguang wrote: >> From: He Rongguang>> >> handle KVM_VCPUEVENT_VALID_SMM properly, or kvm-kmod/kernel will crash >> in migration destination in gfn_to_rmap() since kvm_memslots_for_spte_role >> is false, whilst (vcpu->arch.hflags & HF_SMM_MASK) is true >> >> Signed-off-by: herongguang >> --- >> arch/x86/kvm/x86.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c >> index 699f872..7ebcb59 100644 >> --- a/arch/x86/kvm/x86.c >> +++ b/arch/x86/kvm/x86.c >> @@ -3028,6 +3028,7 @@ static int kvm_vcpu_ioctl_x86_set_vcpu_events(struct >> kvm_vcpu *vcpu, >> else >> clear_bit(KVM_APIC_INIT, >> >arch.apic->pending_events); >> } >> +kvm_mmu_reset_context(vcpu); >> } >> >> kvm_make_request(KVM_REQ_EVENT, vcpu); >> > > Hi, do you think this is OK for linux 4.9? Thanks for the notification. I think it would be better to use kvm_smm_changed(). Calling kvm_mmu_reset_context() only when SMM mode changed also seems beneficial, which is already done in kvm_set_hflags(). It is a fix and can go into later 4.9 release candidates, in case we miss the first one.
Re: [Qemu-devel] [PATCH] KVM: x86: handle KVM_SET_VCPU_EVENTS/KVM_VCPUEVENT_VALID_SMM properly
On 2016/9/23 12:59, herongguang wrote: From: He Rongguanghandle KVM_VCPUEVENT_VALID_SMM properly, or kvm-kmod/kernel will crash in migration destination in gfn_to_rmap() since kvm_memslots_for_spte_role is false, whilst (vcpu->arch.hflags & HF_SMM_MASK) is true Signed-off-by: herongguang --- arch/x86/kvm/x86.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 699f872..7ebcb59 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -3028,6 +3028,7 @@ static int kvm_vcpu_ioctl_x86_set_vcpu_events(struct kvm_vcpu *vcpu, else clear_bit(KVM_APIC_INIT, >arch.apic->pending_events); } + kvm_mmu_reset_context(vcpu); } kvm_make_request(KVM_REQ_EVENT, vcpu); Hi, do you think this is OK for linux 4.9?
[Qemu-devel] [PATCH] KVM: x86: handle KVM_SET_VCPU_EVENTS/KVM_VCPUEVENT_VALID_SMM properly
From: He Rongguanghandle KVM_VCPUEVENT_VALID_SMM properly, or kvm-kmod/kernel will crash in migration destination in gfn_to_rmap() since kvm_memslots_for_spte_role is false, whilst (vcpu->arch.hflags & HF_SMM_MASK) is true Signed-off-by: herongguang --- arch/x86/kvm/x86.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 699f872..7ebcb59 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -3028,6 +3028,7 @@ static int kvm_vcpu_ioctl_x86_set_vcpu_events(struct kvm_vcpu *vcpu, else clear_bit(KVM_APIC_INIT, >arch.apic->pending_events); } + kvm_mmu_reset_context(vcpu); } kvm_make_request(KVM_REQ_EVENT, vcpu); -- 1.8.3.4