KVM: x86: Simplify msr_filter update
authorMichal Luczaj <mhal@rbox.co>
Sat, 7 Jan 2023 00:12:53 +0000 (01:12 +0100)
committerSean Christopherson <seanjc@google.com>
Fri, 3 Feb 2023 23:30:32 +0000 (15:30 -0800)
Replace srcu_dereference()+rcu_assign_pointer() sequence with
a single rcu_replace_pointer().

Suggested-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Michal Luczaj <mhal@rbox.co>
Link: https://lore.kernel.org/r/20230107001256.2365304-4-mhal@rbox.co
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/x86.c

index 4f8e78d..9c66cb3 100644 (file)
@@ -6492,11 +6492,8 @@ static int kvm_vm_ioctl_set_msr_filter(struct kvm *kvm,
        }
 
        mutex_lock(&kvm->lock);
-
        /* The per-VM filter is protected by kvm->lock... */
-       old_filter = srcu_dereference_check(kvm->arch.msr_filter, &kvm->srcu, 1);
-
-       rcu_assign_pointer(kvm->arch.msr_filter, new_filter);
+       old_filter = rcu_replace_pointer(kvm->arch.msr_filter, new_filter, 1);
        mutex_unlock(&kvm->lock);
        synchronize_srcu(&kvm->srcu);