[RFC PATCH v1 00/10] KVM: s390: Do storage key checking
From: Janis Schoetterl-Glausch
Date: Tue Jan 18 2022 - 04:52:31 EST
Check keys when emulating instructions and let user space do key checked
accesses.
User space can do so via an extension of the MEMOP IOCTL:
* allow optional key checking
* allow MEMOP on vm fd, so key checked accesses on absolute memory
become possible
TODO:
* Documentation changes for MEMOP
* Consider redesign of capability for MEMOP
Janis Schoetterl-Glausch (10):
s390/uaccess: Add storage key checked access to user memory
KVM: s390: Honor storage keys when accessing guest memory
KVM: s390: handle_tprot: Honor storage keys
KVM: s390: selftests: Test TEST PROTECTION emulation
KVM: s390: Add optional storage key checking to MEMOP IOCTL
KVM: s390: Add vm IOCTL for key checked guest absolute memory access
KVM: s390: Rename existing vcpu memop functions
KVM: s390: selftests: Test memops with storage keys
KVM: s390: Add capability for storage key extension of MEM_OP IOCTL
KVM: s390: selftests: Make use of capability in MEM_OP test
arch/s390/include/asm/ctl_reg.h | 2 +
arch/s390/include/asm/page.h | 2 +
arch/s390/include/asm/uaccess.h | 32 ++
arch/s390/kvm/gaccess.c | 237 ++++++++-
arch/s390/kvm/gaccess.h | 85 +++-
arch/s390/kvm/intercept.c | 12 +-
arch/s390/kvm/kvm-s390.c | 122 ++++-
arch/s390/kvm/priv.c | 66 +--
arch/s390/lib/uaccess.c | 57 ++-
include/uapi/linux/kvm.h | 4 +
tools/testing/selftests/kvm/.gitignore | 1 +
tools/testing/selftests/kvm/Makefile | 1 +
tools/testing/selftests/kvm/s390x/memop.c | 560 +++++++++++++++++++---
tools/testing/selftests/kvm/s390x/tprot.c | 184 +++++++
14 files changed, 1207 insertions(+), 158 deletions(-)
create mode 100644 tools/testing/selftests/kvm/s390x/tprot.c
base-commit: bad13799e0305deb258372b7298a86be4c78aaba
prerequisite-patch-id: 5f8ae41bde2fa5717a775e17c08239ed1ddbcc83
--
2.32.0