|
From: | Gerg Kurz |
Subject: | Re: [Qemu-ppc] [PATCH v4 1/2] KVM: remove NULL return path for vcpu ids >= KVM_MAX_VCPUS |
Date: | Wed, 27 Apr 2016 05:40:52 -0400 |
User-agent: | Internet Messaging Program (IMP) H5 (6.1.7) |
Quoting Greg Kurz <address@hidden>:
Commit c896939f7cff ("KVM: use heuristic for fast VCPU lookup by id") added a return path that prevents vcpu ids to exceed KVM_MAX_VCPUS. This is a problem for powerpc where vcpu ids can grow up to 8*KVM_MAX_VCPUS. This patch simply reverses the logic so that we only try fast path if the vcpu id can be tried as an index in kvm->vcpus[]. The slow path is not affected by the change. Signed-off-by: Greg Kurz <address@hidden> ---
Radim, I think this sanity check is only needed because kvm_get_vcpu() use the id as an index in kvm->vcpus[]. Checking against the new KVM_MAX_VCPU_ID would be clearly wrong here. And this patch got two R-b tags already. Do you agree we keep it ? Cheers. -- Greg
include/linux/kvm_host.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 5276fe0916fc..23bfe1bd159c 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h@@ -447,12 +447,13 @@ static inline struct kvm_vcpu *kvm_get_vcpu(struct kvm *kvm, int i)static inline struct kvm_vcpu *kvm_get_vcpu_by_id(struct kvm *kvm, int id) { - struct kvm_vcpu *vcpu; + struct kvm_vcpu *vcpu = NULL; int i; - if (id < 0 || id >= KVM_MAX_VCPUS) + if (id < 0) return NULL; - vcpu = kvm_get_vcpu(kvm, id); + if (id < KVM_MAX_VCPUS) + vcpu = kvm_get_vcpu(kvm, id); if (vcpu && vcpu->vcpu_id == id) return vcpu; kvm_for_each_vcpu(i, vcpu, kvm) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to address@hidden More majordomo info at http://vger.kernel.org/majordomo-info.html
[Prev in Thread] | Current Thread | [Next in Thread] |