aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/kvm/arm.c6
-rw-r--r--arch/ia64/kvm/kvm-ia64.c6
-rw-r--r--arch/powerpc/kvm/powerpc.c12
-rw-r--r--arch/s390/kvm/kvm-s390.c9
-rw-r--r--arch/x86/kvm/x86.c6
-rw-r--r--include/linux/kvm_host.h6
-rw-r--r--virt/kvm/kvm_main.c4
7 files changed, 17 insertions, 32 deletions
diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c
index 5a936988eb24..24cb5f66787d 100644
--- a/arch/arm/kvm/arm.c
+++ b/arch/arm/kvm/arm.c
@@ -231,16 +231,14 @@ int kvm_arch_set_memory_region(struct kvm *kvm,
231int kvm_arch_prepare_memory_region(struct kvm *kvm, 231int kvm_arch_prepare_memory_region(struct kvm *kvm,
232 struct kvm_memory_slot *memslot, 232 struct kvm_memory_slot *memslot,
233 struct kvm_memory_slot old, 233 struct kvm_memory_slot old,
234 struct kvm_userspace_memory_region *mem, 234 struct kvm_userspace_memory_region *mem)
235 bool user_alloc)
236{ 235{
237 return 0; 236 return 0;
238} 237}
239 238
240void kvm_arch_commit_memory_region(struct kvm *kvm, 239void kvm_arch_commit_memory_region(struct kvm *kvm,
241 struct kvm_userspace_memory_region *mem, 240 struct kvm_userspace_memory_region *mem,
242 struct kvm_memory_slot old, 241 struct kvm_memory_slot old)
243 bool user_alloc)
244{ 242{
245} 243}
246 244
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
index ad3126a58644..cbc5b0417dab 100644
--- a/arch/ia64/kvm/kvm-ia64.c
+++ b/arch/ia64/kvm/kvm-ia64.c
@@ -1579,8 +1579,7 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages)
1579int kvm_arch_prepare_memory_region(struct kvm *kvm, 1579int kvm_arch_prepare_memory_region(struct kvm *kvm,
1580 struct kvm_memory_slot *memslot, 1580 struct kvm_memory_slot *memslot,
1581 struct kvm_memory_slot old, 1581 struct kvm_memory_slot old,
1582 struct kvm_userspace_memory_region *mem, 1582 struct kvm_userspace_memory_region *mem)
1583 bool user_alloc)
1584{ 1583{
1585 unsigned long i; 1584 unsigned long i;
1586 unsigned long pfn; 1585 unsigned long pfn;
@@ -1610,8 +1609,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
1610 1609
1611void kvm_arch_commit_memory_region(struct kvm *kvm, 1610void kvm_arch_commit_memory_region(struct kvm *kvm,
1612 struct kvm_userspace_memory_region *mem, 1611 struct kvm_userspace_memory_region *mem,
1613 struct kvm_memory_slot old, 1612 struct kvm_memory_slot old)
1614 bool user_alloc)
1615{ 1613{
1616 return; 1614 return;
1617} 1615}
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 934413cd3a1b..22b33159fbc4 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -411,18 +411,16 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages)
411} 411}
412 412
413int kvm_arch_prepare_memory_region(struct kvm *kvm, 413int kvm_arch_prepare_memory_region(struct kvm *kvm,
414 struct kvm_memory_slot *memslot, 414 struct kvm_memory_slot *memslot,
415 struct kvm_memory_slot old, 415 struct kvm_memory_slot old,
416 struct kvm_userspace_memory_region *mem, 416 struct kvm_userspace_memory_region *mem)
417 bool user_alloc)
418{ 417{
419 return kvmppc_core_prepare_memory_region(kvm, memslot, mem); 418 return kvmppc_core_prepare_memory_region(kvm, memslot, mem);
420} 419}
421 420
422void kvm_arch_commit_memory_region(struct kvm *kvm, 421void kvm_arch_commit_memory_region(struct kvm *kvm,
423 struct kvm_userspace_memory_region *mem, 422 struct kvm_userspace_memory_region *mem,
424 struct kvm_memory_slot old, 423 struct kvm_memory_slot old)
425 bool user_alloc)
426{ 424{
427 kvmppc_core_commit_memory_region(kvm, mem, old); 425 kvmppc_core_commit_memory_region(kvm, mem, old);
428} 426}
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 4cf35a0a79e7..07ac302ce246 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -975,8 +975,7 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages)
975int kvm_arch_prepare_memory_region(struct kvm *kvm, 975int kvm_arch_prepare_memory_region(struct kvm *kvm,
976 struct kvm_memory_slot *memslot, 976 struct kvm_memory_slot *memslot,
977 struct kvm_memory_slot old, 977 struct kvm_memory_slot old,
978 struct kvm_userspace_memory_region *mem, 978 struct kvm_userspace_memory_region *mem)
979 bool user_alloc)
980{ 979{
981 /* A few sanity checks. We can have exactly one memory slot which has 980 /* A few sanity checks. We can have exactly one memory slot which has
982 to start at guest virtual zero and which has to be located at a 981 to start at guest virtual zero and which has to be located at a
@@ -997,16 +996,12 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
997 if (mem->memory_size & 0xffffful) 996 if (mem->memory_size & 0xffffful)
998 return -EINVAL; 997 return -EINVAL;
999 998
1000 if (!user_alloc)
1001 return -EINVAL;
1002
1003 return 0; 999 return 0;
1004} 1000}
1005 1001
1006void kvm_arch_commit_memory_region(struct kvm *kvm, 1002void kvm_arch_commit_memory_region(struct kvm *kvm,
1007 struct kvm_userspace_memory_region *mem, 1003 struct kvm_userspace_memory_region *mem,
1008 struct kvm_memory_slot old, 1004 struct kvm_memory_slot old)
1009 bool user_alloc)
1010{ 1005{
1011 int rc; 1006 int rc;
1012 1007
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 811c5c9c8880..26216bb4403f 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -6907,8 +6907,7 @@ out_free:
6907int kvm_arch_prepare_memory_region(struct kvm *kvm, 6907int kvm_arch_prepare_memory_region(struct kvm *kvm,
6908 struct kvm_memory_slot *memslot, 6908 struct kvm_memory_slot *memslot,
6909 struct kvm_memory_slot old, 6909 struct kvm_memory_slot old,
6910 struct kvm_userspace_memory_region *mem, 6910 struct kvm_userspace_memory_region *mem)
6911 bool user_alloc)
6912{ 6911{
6913 int npages = memslot->npages; 6912 int npages = memslot->npages;
6914 6913
@@ -6938,8 +6937,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
6938 6937
6939void kvm_arch_commit_memory_region(struct kvm *kvm, 6938void kvm_arch_commit_memory_region(struct kvm *kvm,
6940 struct kvm_userspace_memory_region *mem, 6939 struct kvm_userspace_memory_region *mem,
6941 struct kvm_memory_slot old, 6940 struct kvm_memory_slot old)
6942 bool user_alloc)
6943{ 6941{
6944 6942
6945 int nr_mmu_pages = 0, npages = mem->memory_size >> PAGE_SHIFT; 6943 int nr_mmu_pages = 0, npages = mem->memory_size >> PAGE_SHIFT;
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index cad77fe09d77..b4757a1cc4c4 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -464,12 +464,10 @@ int kvm_arch_create_memslot(struct kvm_memory_slot *slot, unsigned long npages);
464int kvm_arch_prepare_memory_region(struct kvm *kvm, 464int kvm_arch_prepare_memory_region(struct kvm *kvm,
465 struct kvm_memory_slot *memslot, 465 struct kvm_memory_slot *memslot,
466 struct kvm_memory_slot old, 466 struct kvm_memory_slot old,
467 struct kvm_userspace_memory_region *mem, 467 struct kvm_userspace_memory_region *mem);
468 bool user_alloc);
469void kvm_arch_commit_memory_region(struct kvm *kvm, 468void kvm_arch_commit_memory_region(struct kvm *kvm,
470 struct kvm_userspace_memory_region *mem, 469 struct kvm_userspace_memory_region *mem,
471 struct kvm_memory_slot old, 470 struct kvm_memory_slot old);
472 bool user_alloc);
473bool kvm_largepages_enabled(void); 471bool kvm_largepages_enabled(void);
474void kvm_disable_largepages(void); 472void kvm_disable_largepages(void);
475/* flush all memory translations */ 473/* flush all memory translations */
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index adc68feb5c5a..fd3037010e75 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -875,7 +875,7 @@ int __kvm_set_memory_region(struct kvm *kvm,
875 slots = old_memslots; 875 slots = old_memslots;
876 } 876 }
877 877
878 r = kvm_arch_prepare_memory_region(kvm, &new, old, mem, user_alloc); 878 r = kvm_arch_prepare_memory_region(kvm, &new, old, mem);
879 if (r) 879 if (r)
880 goto out_slots; 880 goto out_slots;
881 881
@@ -915,7 +915,7 @@ int __kvm_set_memory_region(struct kvm *kvm,
915 915
916 old_memslots = install_new_memslots(kvm, slots, &new); 916 old_memslots = install_new_memslots(kvm, slots, &new);
917 917
918 kvm_arch_commit_memory_region(kvm, mem, old, user_alloc); 918 kvm_arch_commit_memory_region(kvm, mem, old);
919 919
920 kvm_free_physmem_slot(&old, &new); 920 kvm_free_physmem_slot(&old, &new);
921 kfree(old_memslots); 921 kfree(old_memslots);