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

Heiko Carstens posted 4 patches 1 week, 2 days 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                  | 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(-)
[PATCH 0/4] s390: Reintroduce support for DCACHE_WORD_ACCESS
Posted by Heiko Carstens 1 week, 2 days ago
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
Re: [PATCH 0/4] s390: Reintroduce support for DCACHE_WORD_ACCESS
Posted by Christian Borntraeger 1 week, 1 day ago
Am 16.07.26 um 16:14 schrieb Heiko Carstens:
> 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)

Whole series
Tested-by: Christian Borntraeger <borntraeger@linux.ibm.com>
with a kernel module and a hacked up kselftest.


> 
>   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(-)
>