linux/arch/s390/kvm
Janosch Frank 59d97bf77a KVM: s390: Fix skey emulation permission check
commit ca76ec9ca8 upstream.

All skey functions call skey_check_enable at their start, which checks
if we are in the PSTATE and injects a privileged operation exception
if we are.

Unfortunately they continue processing afterwards and perform the
operation anyhow as skey_check_enable does not deliver an error if the
exception injection was successful.

Let's move the PSTATE check into the skey functions and exit them on
such an occasion, also we now do not enable skey handling anymore in
such a case.

Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Fixes: a7e19ab ("KVM: s390: handle missing storage-key facility")
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-12-14 09:52:56 +01:00
..
diag.c First batch of KVM changes for 4.14 2017-09-08 15:18:36 -07:00
gaccess.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gaccess.h s390: rename psw_bits enums 2017-06-12 16:26:02 +02:00
guestdbg.c KVM: s390: guestdbg: fix range check 2017-08-31 13:49:39 +02:00
intercept.c KVM: s390: Support keyless subset guest mode 2017-04-21 11:08:11 +02:00
interrupt.c KVM: s390: use WARN_ON_ONCE only for checking 2017-08-31 13:49:39 +02:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kvm-s390.c KVM: s390: Fixes and features for 4.14 2017-09-07 16:46:46 +02:00
kvm-s390.h KVM: s390: Multiple Epoch Facility support 2017-08-29 15:15:54 +02:00
Makefile KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
priv.c KVM: s390: Fix skey emulation permission check 2017-12-14 09:52:56 +01:00
sigp.c KVM: s390: Support Configuration z/Architecture Mode 2017-08-28 16:25:13 +02:00
sthyi.c KVM: s390: sthyi: remove invalid guest write access 2017-08-29 15:15:56 +02:00
trace-s390.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vsie.c First batch of KVM changes for 4.14 2017-09-08 15:18:36 -07:00