aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm/gaccess.c
diff options
context:
space:
mode:
authorThomas Huth <thuth@linux.vnet.ibm.com>2014-02-04 08:48:07 -0500
committerChristian Borntraeger <borntraeger@de.ibm.com>2014-05-30 03:39:36 -0400
commita0465f9ae4758207264a1318bb8aed617c0ea959 (patch)
tree5ffee52ce78ef810c6ac70fd277eb32046060a78 /arch/s390/kvm/gaccess.c
parent9fbc02760d61fddc7716f9e6aa6ed1ff33e65405 (diff)
KVM: s390: Enable DAT support for TPROT handler
The TPROT instruction can be used to check the accessability of storage for any kind of logical addresses. So far, our handler only supported real addresses. This patch now also enables support for addresses that have to be translated via DAT first. And while we're at it, change the code to use the common KVM function gfn_to_hva_prot() to check for the validity and writability of the memory page. Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/gaccess.c')
-rw-r--r--arch/s390/kvm/gaccess.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/s390/kvm/gaccess.c b/arch/s390/kvm/gaccess.c
index 5f73826992f2..4653ac6e182b 100644
--- a/arch/s390/kvm/gaccess.c
+++ b/arch/s390/kvm/gaccess.c
@@ -292,7 +292,7 @@ static void ipte_unlock_siif(struct kvm_vcpu *vcpu)
292 wake_up(&vcpu->kvm->arch.ipte_wq); 292 wake_up(&vcpu->kvm->arch.ipte_wq);
293} 293}
294 294
295static void ipte_lock(struct kvm_vcpu *vcpu) 295void ipte_lock(struct kvm_vcpu *vcpu)
296{ 296{
297 if (vcpu->arch.sie_block->eca & 1) 297 if (vcpu->arch.sie_block->eca & 1)
298 ipte_lock_siif(vcpu); 298 ipte_lock_siif(vcpu);
@@ -300,7 +300,7 @@ static void ipte_lock(struct kvm_vcpu *vcpu)
300 ipte_lock_simple(vcpu); 300 ipte_lock_simple(vcpu);
301} 301}
302 302
303static void ipte_unlock(struct kvm_vcpu *vcpu) 303void ipte_unlock(struct kvm_vcpu *vcpu)
304{ 304{
305 if (vcpu->arch.sie_block->eca & 1) 305 if (vcpu->arch.sie_block->eca & 1)
306 ipte_unlock_siif(vcpu); 306 ipte_unlock_siif(vcpu);