[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] KVM: x86: handle KVM_SET_VCPU_EVENTS/KVM_VCPUEV
From: |
Radim Krčmář |
Subject: |
Re: [Qemu-devel] [PATCH] KVM: x86: handle KVM_SET_VCPU_EVENTS/KVM_VCPUEVENT_VALID_SMM properly |
Date: |
Mon, 10 Oct 2016 14:48:44 +0200 |
2016-10-08 11:31+0800, Herongguang (Stephen):
> On 2016/9/23 12:59, herongguang wrote:
>> From: He Rongguang <address@hidden>
>>
>> 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 <address@hidden>
>> ---
>> 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,
>> &vcpu->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.