[PATCH 0/4] s390: Reintroduce support for DCACHE_WORD_ACCESS

From: Heiko Carstens

Date: Thu Jul 16 2026 - 10:27:00 EST


Support for DCACHE_WORD_ACCESS was recently removed [1] since it caused
problems with the incomplete handling of secure storage access
exceptions. It looked like fixing the exception handler would be a larger
effort; therefore support for DCACHE_WORD_ACCESS was removed as a work
around.

Address the potential problems that exist with secure storage access
exceptions and add support for DCACHE_WORD_ACCESS again.

In particular address the following problems:

- Reading the guest variable storage area via the /proc/kcore interface
results in short reads. Address this by using a VM_SPARSE area for the
guest variable storage area. VM_SPARSE areas will be handled like
memory holes (zeros will be read).

- Fix handling of secure storage access exceptions in vmalloc area.

- Remove folio handling for secure storage access exceptions to avoid
potential data corruption.

[1] 37540b8c287f ("s390: Revert support for DCACHE_WORD_ACCESS")

Heiko Carstens (4):
KVM: s390: pv: Use VM_SPARSE area for guest variable storage area
s390/mm: Fix handling of secure storage access exceptions in vmalloc area
s390/mm: Remove folio handling for secure storage access exceptions
s390: Add support for DCACHE_WORD_ACCESS (again)

arch/s390/Kconfig | 1 +
arch/s390/include/asm/asm-extable.h | 4 ++
arch/s390/include/asm/uv.h | 2 +
arch/s390/include/asm/word-at-a-time.h | 22 ++++++++++
arch/s390/kernel/uv.c | 59 ++++++++++++++++++++++++++
arch/s390/kvm/pv.c | 6 +--
arch/s390/mm/extable.c | 18 ++++++++
arch/s390/mm/fault.c | 10 ++---
8 files changed, 112 insertions(+), 10 deletions(-)

--
2.53.0