Messages in this thread | | | Date | Fri, 18 Nov 2011 18:03:04 +0800 | From | Xiao Guangrong <> | Subject | Re: [PATCH v2 6/6] KVM: introduce a table to map slot id to index in memslots arry |
| |
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.
| |