summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/entry.h
diff options
context:
space:
mode:
authorJanosch Frank <frankja@linux.ibm.com>2020-09-08 09:05:04 -0400
committerVasily Gorbik <gor@linux.ibm.com>2020-09-14 10:08:07 +0200
commitcd4d3d5f21ddbfae3f686ac0ff405f21f7847ad3 (patch)
treea3b50dec29b84d42598df46b2f1ab7981ff2175a /arch/s390/kernel/entry.h
parent73ac74c7d489756d2313219a108809921dbfaea1 (diff)
downloadlinux-stable-cd4d3d5f21ddbfae3f686ac0ff405f21f7847ad3.tar.gz
linux-stable-cd4d3d5f21ddbfae3f686ac0ff405f21f7847ad3.tar.bz2
linux-stable-cd4d3d5f21ddbfae3f686ac0ff405f21f7847ad3.zip
s390: add 3f program exception handler
Program exception 3f (secure storage violation) can only be detected when the CPU is running in SIE with a format 4 state description, e.g. running a protected guest. Because of this and because user space partly controls the guest memory mapping and can trigger this exception, we want to send a SIGSEGV to the process running the guest and not panic the kernel. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Cc: <stable@vger.kernel.org> # 5.7 Fixes: 084ea4d611a3 ("s390/mm: add (non)secure page access exceptions handlers") Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel/entry.h')
-rw-r--r--arch/s390/kernel/entry.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/kernel/entry.h b/arch/s390/kernel/entry.h
index faca269d5f27..a44ddc2f2dec 100644
--- a/arch/s390/kernel/entry.h
+++ b/arch/s390/kernel/entry.h
@@ -26,6 +26,7 @@ void do_protection_exception(struct pt_regs *regs);
void do_dat_exception(struct pt_regs *regs);
void do_secure_storage_access(struct pt_regs *regs);
void do_non_secure_storage_access(struct pt_regs *regs);
+void do_secure_storage_violation(struct pt_regs *regs);
void addressing_exception(struct pt_regs *regs);
void data_exception(struct pt_regs *regs);