diff options
author | Ben-Ami Yassour <benami@il.ibm.com> | 2008-07-06 17:15:07 +0300 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-07-20 12:42:39 +0300 |
commit | c65bbfa1d693d375da51f9c8aa9fb26f09fa19ed (patch) | |
tree | 9046a4a8d38b2dc33ca45c975ce52d34ecde1cd0 /arch/x86/kvm/i8259.c | |
parent | 19fdfa0d133ae216e9d1c69a8333fe63fcf8e584 (diff) | |
download | op-kernel-dev-c65bbfa1d693d375da51f9c8aa9fb26f09fa19ed.zip op-kernel-dev-c65bbfa1d693d375da51f9c8aa9fb26f09fa19ed.tar.gz |
KVM: check injected pic irq within valid pic irqs
Check that an injected pic irq is between 0 and 15.
Signed-off-by: Ben-Ami Yassour <benami@il.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/x86/kvm/i8259.c')
-rw-r--r-- | arch/x86/kvm/i8259.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c index 5857f59..c31164e 100644 --- a/arch/x86/kvm/i8259.c +++ b/arch/x86/kvm/i8259.c @@ -130,8 +130,10 @@ void kvm_pic_set_irq(void *opaque, int irq, int level) { struct kvm_pic *s = opaque; - pic_set_irq1(&s->pics[irq >> 3], irq & 7, level); - pic_update_irq(s); + if (irq >= 0 && irq < PIC_NUM_PINS) { + pic_set_irq1(&s->pics[irq >> 3], irq & 7, level); + pic_update_irq(s); + } } /* |