]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
KVM: s390: Fix S390_USER_OPEREXEC enablement without STFLE 74
authorEric Farman <farman@linux.ibm.com>
Thu, 7 May 2026 20:08:34 +0000 (22:08 +0200)
committerClaudio Imbrenda <imbrenda@linux.ibm.com>
Wed, 24 Jun 2026 08:01:56 +0000 (10:01 +0200)
commit02d61d3370ef34ca2a15190a7719d0761ed3ed34
tree9045b8567f134bed0558b5279ff1c83df4a3304e
parent8cd9520d35a6c38db6567e97dd93b1f11f185dc6
KVM: s390: Fix S390_USER_OPEREXEC enablement without STFLE 74

The KVM_CAP_S390_USER_OPEREXEC capability allows operation exceptions
to be forwarded to userspace. But the actual enablement at the hardware
level occurs in kvm_arch_vcpu_postcreate(), and only if STFLE.74 or
user_instr0 are enabled. The latter is associated with a separate
capability (KVM_CAP_S390_USER_INSTR0), so the only way this happens
for the USER_OPEREXEC capability is if STFLE.74 is enabled. KVM
unconditionally enables this bit in kvm_arch_init_vm(), but the guest
could disable it from the CPU model and thus ignore this capability.

Add USER_OPEREXEC to the check in kvm_arch_vcpu_postcreate(), such that
either capability would enable this type of exception.

Fixes: 8e8678e740ec ("KVM: s390: Add capability that forwards operation exceptions")
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
[Fixed patch title, as recommended by frankja@linux.ibm.com]
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-ID: <20260507200836.3500368-2-farman@linux.ibm.com>
arch/s390/kvm/kvm-s390.c