提交 1e702d9a 编写于 作者: A Alex Williamson 提交者: Marcelo Tosatti

KVM: struct kvm_memory_slot.id -> short

We're currently offering a whopping 32 memory slots to user space, an
int is a bit excessive for storing this.  We would like to increase
our memslots, but SHRT_MAX should be more than enough.
Reviewed-by: NGleb Natapov <gleb@redhat.com>
Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
上级 6104f472
...@@ -270,7 +270,7 @@ struct kvm_memory_slot { ...@@ -270,7 +270,7 @@ struct kvm_memory_slot {
struct kvm_arch_memory_slot arch; struct kvm_arch_memory_slot arch;
unsigned long userspace_addr; unsigned long userspace_addr;
u32 flags; u32 flags;
int id; short id;
bool user_alloc; bool user_alloc;
}; };
...@@ -330,7 +330,7 @@ struct kvm_memslots { ...@@ -330,7 +330,7 @@ struct kvm_memslots {
u64 generation; u64 generation;
struct kvm_memory_slot memslots[KVM_MEM_SLOTS_NUM]; struct kvm_memory_slot memslots[KVM_MEM_SLOTS_NUM];
/* The mapping table from slot id to the index in memslots[]. */ /* The mapping table from slot id to the index in memslots[]. */
int id_to_index[KVM_MEM_SLOTS_NUM]; short id_to_index[KVM_MEM_SLOTS_NUM];
}; };
struct kvm { struct kvm {
......
...@@ -474,6 +474,8 @@ static struct kvm *kvm_create_vm(unsigned long type) ...@@ -474,6 +474,8 @@ static struct kvm *kvm_create_vm(unsigned long type)
INIT_HLIST_HEAD(&kvm->irq_ack_notifier_list); INIT_HLIST_HEAD(&kvm->irq_ack_notifier_list);
#endif #endif
BUILD_BUG_ON(KVM_MEM_SLOTS_NUM > SHRT_MAX);
r = -ENOMEM; r = -ENOMEM;
kvm->memslots = kzalloc(sizeof(struct kvm_memslots), GFP_KERNEL); kvm->memslots = kzalloc(sizeof(struct kvm_memslots), GFP_KERNEL);
if (!kvm->memslots) if (!kvm->memslots)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册