s390/mm,kvm: improve detection of KVM guest faults
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 5 Oct 2017 06:44:26 +0000 (08:44 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 14 Nov 2017 10:01:43 +0000 (11:01 +0100)
commitc771320e9357c9b85634002daedfe5c8988f27a6
treebf405eb39a9cb33d352fddaf2edf3eeacf4eb74f
parentcefbeb5df56e1daf0adda8ca5eecee03c5084af6
s390/mm,kvm: improve detection of KVM guest faults

The identification of guest fault currently relies on the PF_VCPU flag.
This is set in guest_entry_irqoff and cleared in guest_exit_irqoff.
Both functions are called by __vcpu_run, the PF_VCPU flag is set for
quite a lot of kernel code outside of the guest execution.

Replace the PF_VCPU scheme with the PIF_GUEST_FAULT in the pt_regs and
make the program check handler code in entry.S set the bit only for
exception that occurred between the .Lsie_gmap and .Lsie_done labels.

Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/include/asm/ptrace.h
arch/s390/kernel/entry.S
arch/s390/mm/fault.c