Re: [PATCH v2 6/6] KVM: introduce a table to map slot id to indexin memslots arry

From: Xiao Guangrong
Date: Fri Nov 18 2011 - 05:03:17 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/