summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2017-02-21 11:07:39 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2017-02-23 10:06:39 +0100
commit5791d90d0046c6d74f19ab58fa774f50e463b0d9 (patch)
treedceaa90fd608d12f7c03722c710a2e673f2440b0 /arch/s390
parent70e28aa0bbb68ed458be0b922d8b58a2b4ae191d (diff)
downloadlinux-5791d90d0046c6d74f19ab58fa774f50e463b0d9.tar.gz
linux-5791d90d0046c6d74f19ab58fa774f50e463b0d9.tar.xz
s390/nmi: purge tlbs after control register validation
Play safe and purge all tlbs after the control registers that contain the primary, secondary and home space asces have been validated. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kernel/nmi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/kernel/nmi.c b/arch/s390/kernel/nmi.c
index b76b5fef251e..80c093e0c6f1 100644
--- a/arch/s390/kernel/nmi.c
+++ b/arch/s390/kernel/nmi.c
@@ -125,7 +125,8 @@ static int notrace s390_validate_registers(union mci mci, int umode)
s390_handle_damage();
} else {
asm volatile(
- " lctlg 0,15,0(%0)"
+ " lctlg 0,15,0(%0)\n"
+ " ptlb\n"
: : "a" (&S390_lowcore.cregs_save_area) : "memory");
}
if (!mci.fp) {