OSDN Git Service

KVM: s390: extend kvm_s390_shadow_fault to return entry pointer
authorClaudio Imbrenda <imbrenda@linux.ibm.com>
Mon, 1 Feb 2021 16:26:54 +0000 (17:26 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Wed, 24 Mar 2021 09:15:12 +0000 (10:15 +0100)
commit5ac14bac08ae827b619f21bcceaaac3b8c497e31
tree517f5043df565bca818ddf001cfee5359a079fc9
parentf85f1baaa18932a041fd2b1c2ca6cfd9898c7d2b
KVM: s390: extend kvm_s390_shadow_fault to return entry pointer

Extend kvm_s390_shadow_fault to return the pointer to the valid leaf
DAT table entry, or to the invalid entry.

Also return some flags in the lower bits of the address:
PEI_DAT_PROT: indicates that DAT protection applies because of the
              protection bit in the segment (or, if EDAT, region) tables.
PEI_NOT_PTE: indicates that the address of the DAT table entry returned
             does not refer to a PTE, but to a segment or region table.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: stable@vger.kernel.org
Reviewed-by: Janosch Frank <frankja@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Link: https://lore.kernel.org/r/20210302174443.514363-3-imbrenda@linux.ibm.com
[borntraeger@de.ibm.com: fold in a fix from Claudio]
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/gaccess.c
arch/s390/kvm/gaccess.h
arch/s390/kvm/vsie.c