Commit 2673cb68 authored by Paolo Bonzini's avatar Paolo Bonzini

Merge tag 'kvm-s390-master-5.7-3' of...

Merge tag 'kvm-s390-master-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD

KVM: s390: Fix for running nested uner z/VM

There are circumstances when running nested under z/VM that would trigger a
WARN_ON_ONCE. Remove the WARN_ON_ONCE. Long term we certainly want to make this
code more robust and flexible, but just returning instead of WARNING makes
guest bootable again.
parents 495907ec 5615e74f
...@@ -626,10 +626,12 @@ static int handle_pqap(struct kvm_vcpu *vcpu) ...@@ -626,10 +626,12 @@ static int handle_pqap(struct kvm_vcpu *vcpu)
* available for the guest are AQIC and TAPQ with the t bit set * available for the guest are AQIC and TAPQ with the t bit set
* since we do not set IC.3 (FIII) we currently will only intercept * since we do not set IC.3 (FIII) we currently will only intercept
* the AQIC function code. * the AQIC function code.
* Note: running nested under z/VM can result in intercepts for other
* function codes, e.g. PQAP(QCI). We do not support this and bail out.
*/ */
reg0 = vcpu->run->s.regs.gprs[0]; reg0 = vcpu->run->s.regs.gprs[0];
fc = (reg0 >> 24) & 0xff; fc = (reg0 >> 24) & 0xff;
if (WARN_ON_ONCE(fc != 0x03)) if (fc != 0x03)
return -EOPNOTSUPP; return -EOPNOTSUPP;
/* PQAP instruction is allowed for guest kernel only */ /* PQAP instruction is allowed for guest kernel only */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment