Merge tag 'kvm-s390-master-4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux
KVM: s390: Fix for user-triggerable WARN_ON A malicious user space can provide an invalid mode for runtime instrumentation via the interfaces that are normally used on the target host during migration. This would trigger a WARN_ON via validity intercept. Let's detect this special case.
This commit is contained in:
@@ -119,8 +119,13 @@ static int handle_validity(struct kvm_vcpu *vcpu)
|
|||||||
|
|
||||||
vcpu->stat.exit_validity++;
|
vcpu->stat.exit_validity++;
|
||||||
trace_kvm_s390_intercept_validity(vcpu, viwhy);
|
trace_kvm_s390_intercept_validity(vcpu, viwhy);
|
||||||
WARN_ONCE(true, "kvm: unhandled validity intercept 0x%x\n", viwhy);
|
KVM_EVENT(3, "validity intercept 0x%x for pid %u (kvm 0x%pK)", viwhy,
|
||||||
return -EOPNOTSUPP;
|
current->pid, vcpu->kvm);
|
||||||
|
|
||||||
|
/* do not warn on invalid runtime instrumentation mode */
|
||||||
|
WARN_ONCE(viwhy != 0x44, "kvm: unhandled validity intercept 0x%x\n",
|
||||||
|
viwhy);
|
||||||
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int handle_instruction(struct kvm_vcpu *vcpu)
|
static int handle_instruction(struct kvm_vcpu *vcpu)
|
||||||
|
Reference in New Issue
Block a user