mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 15:41:36 +00:00
KVM: x86: Use mutex guards to eliminate __kvm_x86_vendor_init()
Use the recently introduced guard(mutex) infrastructure acquire and automatically release vendor_module_lock when the guard goes out of scope. Drop the inner __kvm_x86_vendor_init(), its sole purpose was to simplify releasing vendor_module_lock in error paths. No functional change intended. Signed-off-by: Nikolay Borisov <nik.borisov@suse.com> Reviewed-by: Kai Huang <kai.huang@intel.com> Link: https://lore.kernel.org/r/20231030141728.1406118-1-nik.borisov@suse.com [sean: rewrite changelog] Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
41bccc98fb
commit
955997e880
@ -9632,11 +9632,13 @@ static void kvm_x86_check_cpu_compat(void *ret)
|
||||
*(int *)ret = kvm_x86_check_processor_compatibility();
|
||||
}
|
||||
|
||||
static int __kvm_x86_vendor_init(struct kvm_x86_init_ops *ops)
|
||||
int kvm_x86_vendor_init(struct kvm_x86_init_ops *ops)
|
||||
{
|
||||
u64 host_pat;
|
||||
int r, cpu;
|
||||
|
||||
guard(mutex)(&vendor_module_lock);
|
||||
|
||||
if (kvm_x86_ops.hardware_enable) {
|
||||
pr_err("already loaded vendor module '%s'\n", kvm_x86_ops.name);
|
||||
return -EEXIST;
|
||||
@ -9766,17 +9768,6 @@ out_free_x86_emulator_cache:
|
||||
kmem_cache_destroy(x86_emulator_cache);
|
||||
return r;
|
||||
}
|
||||
|
||||
int kvm_x86_vendor_init(struct kvm_x86_init_ops *ops)
|
||||
{
|
||||
int r;
|
||||
|
||||
mutex_lock(&vendor_module_lock);
|
||||
r = __kvm_x86_vendor_init(ops);
|
||||
mutex_unlock(&vendor_module_lock);
|
||||
|
||||
return r;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(kvm_x86_vendor_init);
|
||||
|
||||
void kvm_x86_vendor_exit(void)
|
||||
|
Loading…
Reference in New Issue
Block a user