KVM: struct kvm_memory_slot.id -> short
authorAlex Williamson <alex.williamson@redhat.com>
Mon, 10 Dec 2012 17:33:32 +0000 (10:33 -0700)
committerMarcelo Tosatti <mtosatti@redhat.com>
Fri, 14 Dec 2012 01:25:24 +0000 (23:25 -0200)
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: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
include/linux/kvm_host.h
virt/kvm/kvm_main.c

index fec607537fa378a89d08b1ac81f5b4cf4c21a1df..32fdc45ca35e9df449355b53af55f7b0d888706e 100644 (file)
@@ -270,7 +270,7 @@ struct kvm_memory_slot {
        struct kvm_arch_memory_slot arch;
        unsigned long userspace_addr;
        u32 flags;
-       int id;
+       short id;
        bool user_alloc;
 };
 
@@ -330,7 +330,7 @@ struct kvm_memslots {
        u64 generation;
        struct kvm_memory_slot memslots[KVM_MEM_SLOTS_NUM];
        /* 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 {
index 42c1eb73a0e379be6174381498c6aaddb454894a..bd31096e3698bf79ade9f3d270f503f7a3baec01 100644 (file)
@@ -474,6 +474,8 @@ static struct kvm *kvm_create_vm(unsigned long type)
        INIT_HLIST_HEAD(&kvm->irq_ack_notifier_list);
 #endif
 
+       BUILD_BUG_ON(KVM_MEM_SLOTS_NUM > SHRT_MAX);
+
        r = -ENOMEM;
        kvm->memslots = kzalloc(sizeof(struct kvm_memslots), GFP_KERNEL);
        if (!kvm->memslots)