From a2e5a9d853e015bc876399eb18435aa88101c60a Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Mon, 20 Jul 2026 10:58:30 +0200 Subject: [PATCH] s390/mm: Fix handling of vmalloc area in do_secure_storage_access() Secure storage access exceptions in vmalloc area need to be handled separately since virt_to_phys() does not work on such addresses. Given that there cannot be a valid access let such exceptions fail immediately. The kernel will either fixup or crash. Tested-by: Christian Borntraeger Signed-off-by: Heiko Carstens Reviewed-by: Christian Borntraeger > --- Signed-off-by: Vasily Gorbik --- arch/s390/mm/fault.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index f150d97cac2e..e650cdfa2523 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -438,6 +438,8 @@ void do_secure_storage_access(struct pt_regs *regs) panic("Unexpected PGM 0x3d with TEID bit 61=0"); } if (is_kernel_fault(regs)) { + if (is_vmalloc_addr((void *)addr)) + return handle_fault_error_nolock(regs, 0); folio = virt_to_folio((void *)addr); if (unlikely(!folio_try_get(folio))) return;