diff options
author | Jiri Kosina <jkosina@suse.cz> | 2015-12-04 22:48:30 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2015-12-04 22:48:30 +0100 |
commit | fc284d631894d8673d229fad92762b66c9875cab (patch) | |
tree | 7b530667b9f7c5c4899c024abda518283abf80b4 /arch/s390/kvm/interrupt.c | |
parent | 444f9e99a840c4050c0530cfef81801a21a59f4c (diff) | |
parent | e0224418516b4d8a6c2160574bac18447c354ef0 (diff) | |
download | kernel_replicant_linux-fc284d631894d8673d229fad92762b66c9875cab.tar.gz kernel_replicant_linux-fc284d631894d8673d229fad92762b66c9875cab.tar.bz2 kernel_replicant_linux-fc284d631894d8673d229fad92762b66c9875cab.zip |
Merge branch 'from-rusty/modules-next' into for-4.5/core
As agreed with Rusty, we're taking a current module-next pile through
livepatching.git, as it contains solely patches that are pre-requisity
for module page protection cleanups in livepatching. Rusty will be
restarting module-next from scratch.
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
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); |