On Mon, 3 Feb 2020 08:19:46 -0500 Christian Borntraeger <borntraeger@xxxxxxxxxx> wrote: > From: Janosch Frank <frankja@xxxxxxxxxxxxx> > > A lot of the registers are controlled by the Ultravisor and never > visible to KVM. Some fields in the sie control block are overlayed, > like gbea. As no userspace uses the ONE_REG interface on s390 it is safe > to disable this for protected guests. Hm, QEMU seems to fall back to ONE_REG if sync regs are not available, doesn't it? So maybe it would be better to word this as "As no known userspace uses the ONE_REG interface on s390 if sync regs are available, no functionality is lost if it is disabled for protected guests." ? > > Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> > --- > arch/s390/kvm/kvm-s390.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c > index 6e74c7afae3a..b9692d722c1e 100644 > --- a/arch/s390/kvm/kvm-s390.c > +++ b/arch/s390/kvm/kvm-s390.c > @@ -4641,6 +4641,9 @@ long kvm_arch_vcpu_ioctl(struct file *filp, > case KVM_SET_ONE_REG: > case KVM_GET_ONE_REG: { > struct kvm_one_reg reg; > + r = -EINVAL; > + if (kvm_s390_pv_is_protected(vcpu->kvm)) > + break; > r = -EFAULT; > if (copy_from_user(®, argp, sizeof(reg))) > break; Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>