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