KVM: use correct accessor function for __kvm_memslots

kvm memslots are protected by srcu and not by rcu. We must use
srcu_dereference_check instead of rcu_dereference_check.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Christian Borntraeger 2017-07-07 15:49:00 +02:00
parent a80cf7b5f4
commit 7e988b103d
1 changed files with 2 additions and 3 deletions

View File

@ -568,9 +568,8 @@ void kvm_put_kvm(struct kvm *kvm);
static inline struct kvm_memslots *__kvm_memslots(struct kvm *kvm, int as_id) static inline struct kvm_memslots *__kvm_memslots(struct kvm *kvm, int as_id)
{ {
return rcu_dereference_check(kvm->memslots[as_id], return srcu_dereference_check(kvm->memslots[as_id], &kvm->srcu,
srcu_read_lock_held(&kvm->srcu) lockdep_is_held(&kvm->slots_lock));
|| lockdep_is_held(&kvm->slots_lock));
} }
static inline struct kvm_memslots *kvm_memslots(struct kvm *kvm) static inline struct kvm_memslots *kvm_memslots(struct kvm *kvm)