[PATCH v3 0/6] s390: Reintroduce support for DCACHE_WORD_ACCESS

Heiko Carstens posted 6 patches 5 days, 14 hours ago
There is a newer version of this series
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                  | 65 ++++++++++++++++++++++++++
arch/s390/kvm/pv.c                     |  6 +--
arch/s390/mm/extable.c                 | 18 +++++++
arch/s390/mm/fault.c                   | 20 +++-----
8 files changed, 122 insertions(+), 16 deletions(-)
[PATCH v3 0/6] s390: Reintroduce support for DCACHE_WORD_ACCESS
Posted by Heiko Carstens 5 days, 14 hours ago
v3:
- Fix two more pre-existing bugs reported by Sashiko
- Add Christian's Tested-by tag to four of the six patches

v2:
- Explicitely PAGE_ALIGN size in uv_alloc_stor_var() [Sashiko]
- Document that lazy PTE update / TLB flushing is intended [Sashiko]

v1:
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 (6):
  KVM: s390: pv: Use VM_SPARSE area for guest variable storage area
  s390/mm: Add missing mm check to do_secure_storage_access()
  s390/mm: Use lock_mm_and_find_vma() in do_secure_storage_access()
  s390/mm: Fix handling of vmalloc area in do_secure_storage_access()
  s390/mm: Remove folio handling for kernel faults in do_secure_storage_access()
  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                  | 65 ++++++++++++++++++++++++++
 arch/s390/kvm/pv.c                     |  6 +--
 arch/s390/mm/extable.c                 | 18 +++++++
 arch/s390/mm/fault.c                   | 20 +++-----
 8 files changed, 122 insertions(+), 16 deletions(-)

-- 
2.53.0