KVM: arm/arm64: VGIC/ITS save/restore: protect kvm_read_guest() calls
authorAndre Przywara <[email protected]>
Fri, 11 May 2018 14:20:15 +0000 (15:20 +0100)
committerPaolo Bonzini <[email protected]>
Tue, 15 May 2018 11:36:53 +0000 (13:36 +0200)
commit711702b57cc3c50b84bd648de0f1ca0a378805be
treebc600ebc3131f613ff676175ec921bd8e7da7751
parentbf308242ab98b5d1648c3663e753556bef9bec01
KVM: arm/arm64: VGIC/ITS save/restore: protect kvm_read_guest() calls

kvm_read_guest() will eventually look up in kvm_memslots(), which requires
either to hold the kvm->slots_lock or to be inside a kvm->srcu critical
section.
In contrast to x86 and s390 we don't take the SRCU lock on every guest
exit, so we have to do it individually for each kvm_read_guest() call.
Use the newly introduced wrapper for that.

Cc: Stable <[email protected]> # 4.12+
Reported-by: Jan Glauber <[email protected]>
Signed-off-by: Andre Przywara <[email protected]>
Acked-by: Christoffer Dall <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
virt/kvm/arm/vgic/vgic-its.c
virt/kvm/arm/vgic/vgic-v3.c