diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-12-21 13:46:30 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-12-21 13:46:30 +0300 |
commit | 1d9d4495001d3c470e5c902ff35a6aa626924fc1 (patch) | |
tree | 1ae39f4ccadb610bc16fea88a1f93b23a4df37b1 /arch/s390/kvm/interrupt.c | |
parent | d3d33aabac51341065bcce0e9c2d9d27902a08c4 (diff) | |
parent | e2dc7d7d8ed3019f72855af1c3dcda3fb456b488 (diff) | |
download | linux-1d9d4495001d3c470e5c902ff35a6aa626924fc1.tar.xz |
Merge branch 'topic/hdmi-jack' into for-next
Diffstat (limited to 'arch/s390/kvm/interrupt.c')
-rw-r--r-- | arch/s390/kvm/interrupt.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c index 373e32346d68..6a75352f453c 100644 --- a/arch/s390/kvm/interrupt.c +++ b/arch/s390/kvm/interrupt.c @@ -1030,8 +1030,7 @@ static int __inject_extcall(struct kvm_vcpu *vcpu, struct kvm_s390_irq *irq) src_id, 0); /* sending vcpu invalid */ - if (src_id >= KVM_MAX_VCPUS || - kvm_get_vcpu(vcpu->kvm, src_id) == NULL) + if (kvm_get_vcpu_by_id(vcpu->kvm, src_id) == NULL) return -EINVAL; if (sclp.has_sigpif) @@ -1110,6 +1109,10 @@ static int __inject_sigp_emergency(struct kvm_vcpu *vcpu, trace_kvm_s390_inject_vcpu(vcpu->vcpu_id, KVM_S390_INT_EMERGENCY, irq->u.emerg.code, 0); + /* sending vcpu invalid */ + if (kvm_get_vcpu_by_id(vcpu->kvm, irq->u.emerg.code) == NULL) + return -EINVAL; + set_bit(irq->u.emerg.code, li->sigp_emerg_pending); set_bit(IRQ_PEND_EXT_EMERGENCY, &li->pending_irqs); atomic_or(CPUSTAT_EXT_INT, li->cpuflags); |