summaryrefslogtreecommitdiff
path: root/arch/x86/kvm/x86.c
diff options
context:
space:
mode:
authorMichal Luczaj <mhal@rbox.co>2023-01-07 03:12:53 +0300
committerSean Christopherson <seanjc@google.com>2023-02-04 02:30:32 +0300
commit4d85cfcaa82f0ceb5dcb7ad369a2cc7efb32c65c (patch)
treed353abb30029116ac030cd4d0dd364661a4d8bee /arch/x86/kvm/x86.c
parent708f799d22fe6b69d2e6e3e0625c30666d5e798a (diff)
downloadlinux-4d85cfcaa82f0ceb5dcb7ad369a2cc7efb32c65c.tar.xz
KVM: x86: Simplify msr_filter update
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>
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r--arch/x86/kvm/x86.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 4f8e78d49585..9c66cb3657b4 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -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);