]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
KVM: Open code kvm_set_memory_region() into its sole caller (ioctl() API)
authorSean Christopherson <seanjc@google.com>
Sat, 11 Jan 2025 00:20:18 +0000 (16:20 -0800)
committerSean Christopherson <seanjc@google.com>
Wed, 15 Jan 2025 01:36:15 +0000 (17:36 -0800)
Open code kvm_set_memory_region() into its sole caller in preparation for
adding a dedicated API for setting internal memslots.

Oppurtunistically use the fancy new guard(mutex) to avoid a local 'r'
variable.

Cc: Tao Su <tao1.su@linux.intel.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Acked-by: Christoph Schlameuss <schlameuss@linux.ibm.com>
Link: https://lore.kernel.org/r/20250111002022.1230573-2-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
include/linux/kvm_host.h
virt/kvm/kvm_main.c

index 401439bb21e3e6c1ef0e6824cca4be61487faca1..7443de24b1d98ade0d1ce080ca82c12ed074b633 100644 (file)
@@ -1192,8 +1192,6 @@ enum kvm_mr_change {
        KVM_MR_FLAGS_ONLY,
 };
 
-int kvm_set_memory_region(struct kvm *kvm,
-                         const struct kvm_userspace_memory_region2 *mem);
 int __kvm_set_memory_region(struct kvm *kvm,
                            const struct kvm_userspace_memory_region2 *mem);
 void kvm_arch_free_memslot(struct kvm *kvm, struct kvm_memory_slot *slot);
index de2c11dae23163c057c625e8eb3f593978f0548f..eb3d0a3850771303e7abbe7680a75b0c9ac09ca3 100644 (file)
@@ -2058,25 +2058,14 @@ out:
 }
 EXPORT_SYMBOL_GPL(__kvm_set_memory_region);
 
-int kvm_set_memory_region(struct kvm *kvm,
-                         const struct kvm_userspace_memory_region2 *mem)
-{
-       int r;
-
-       mutex_lock(&kvm->slots_lock);
-       r = __kvm_set_memory_region(kvm, mem);
-       mutex_unlock(&kvm->slots_lock);
-       return r;
-}
-EXPORT_SYMBOL_GPL(kvm_set_memory_region);
-
 static int kvm_vm_ioctl_set_memory_region(struct kvm *kvm,
                                          struct kvm_userspace_memory_region2 *mem)
 {
        if ((u16)mem->slot >= KVM_USER_MEM_SLOTS)
                return -EINVAL;
 
-       return kvm_set_memory_region(kvm, mem);
+       guard(mutex)(&kvm->slots_lock);
+       return __kvm_set_memory_region(kvm, mem);
 }
 
 #ifndef CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT