On 11/18/2011 05:45 PM, Sasha Levin wrote: >> struct kvm { >> @@ -340,14 +342,13 @@ static inline struct kvm_memslots *kvm_memslots(struct kvm *kvm) >> static inline struct kvm_memory_slot * >> id_to_memslot(struct kvm_memslots *slots, int id) >> { >> - int i; >> + int index = slots->id_to_index[id]; >> + struct kvm_memory_slot *slot; >> >> - for (i = 0; i < KVM_MEM_SLOTS_NUM; i++) >> - if (slots->memslots[i].id == id) >> - return &slots->memslots[i]; >> + slot = &slots->memslots[index]; >> >> - WARN_ON(1); >> - return NULL; >> + WARN_ON(slot->id != id); >> + return slot; >> } > > If we didn't find the right memslot we shouldn't be returning a wrong > one, we should be failing. > Um, in the current code, the "id" has already been checked by the caller, that means "id" should be < KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS, so, if we can not find the memslot for this slot, it must be a bug. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html