summaryrefslogtreecommitdiff
path: root/arch/s390/boot/uv.c
diff options
context:
space:
mode:
authorJanosch Frank <frankja@linux.ibm.com>2021-01-12 13:40:53 +0300
committerVasily Gorbik <gor@linux.ibm.com>2021-07-05 13:44:23 +0300
commit85b18d7b5e7ffefb2f076186511d39c4990aa005 (patch)
treeb725f7f8392d85e231b4f5c26c0c816ba75c87d1 /arch/s390/boot/uv.c
parent47f7c6cf0082e1d963d1761b6bc2a94480fc8671 (diff)
downloadlinux-85b18d7b5e7ffefb2f076186511d39c4990aa005.tar.xz
s390: mm: Fix secure storage access exception handling
Turns out that the bit 61 in the TEID is not always 1 and if that's the case the address space ID and the address are unpredictable. Without an address and its address space ID we can't export memory and hence we can only send a SIGSEGV to the process or panic the kernel depending on who caused the exception. Unfortunately bit 61 is only reliable if we have the "misc" UV feature bit. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Fixes: 084ea4d611a3d ("s390/mm: add (non)secure page access exceptions handlers") Cc: stable@vger.kernel.org Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/boot/uv.c')
-rw-r--r--arch/s390/boot/uv.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/boot/uv.c b/arch/s390/boot/uv.c
index 82b99b916243..f6b0c4f43c99 100644
--- a/arch/s390/boot/uv.c
+++ b/arch/s390/boot/uv.c
@@ -36,6 +36,7 @@ void uv_query_info(void)
uv_info.max_sec_stor_addr = ALIGN(uvcb.max_guest_stor_addr, PAGE_SIZE);
uv_info.max_num_sec_conf = uvcb.max_num_sec_conf;
uv_info.max_guest_cpu_id = uvcb.max_guest_cpu_id;
+ uv_info.uv_feature_indications = uvcb.uv_feature_indications;
}
#ifdef CONFIG_PROTECTED_VIRTUALIZATION_GUEST