linux/arch/ia64/kvm
Avi Kivity 3e515705a1 KVM: Ensure all vcpus are consistent with in-kernel irqchip settings
If some vcpus are created before KVM_CREATE_IRQCHIP, then
irqchip_in_kernel() and vcpu->arch.apic will be inconsistent, leading
to potential NULL pointer dereferences.

Fix by:
- ensuring that no vcpus are installed when KVM_CREATE_IRQCHIP is called
- ensuring that a vcpu has an apic if it is installed after KVM_CREATE_IRQCHIP

This is somewhat long winded because vcpu->arch.apic is created without
kvm->lock held.

Based on earlier patch by Michael Ellerman.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Avi Kivity <avi@redhat.com>
2012-03-08 14:10:30 +02:00
..
Kconfig virtio: expose for non-virtualization users too 2011-07-23 16:20:30 +09:30
Makefile ia64: change to new flag variables 2011-03-17 14:02:56 +01:00
asm-offsets.c drop explicit include of autoconf.h 2009-12-12 13:08:15 +01:00
irq.h KVM: ia64: Fix the build errors due to lack of macros related to MSI. 2009-03-24 11:03:13 +02:00
kvm-ia64.c KVM: Ensure all vcpus are consistent with in-kernel irqchip settings 2012-03-08 14:10:30 +02:00
kvm_fw.c KVM: ia64: remove redundant kvm_get_exit_data() NULL tests 2010-03-01 12:35:52 -03:00
kvm_lib.c KVM: ia64: fix ia64 build due to missing kallsyms_lookup() and double export 2009-06-28 14:10:30 +03:00
kvm_minstate.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
lapic.h KVM: ia64: define kvm_lapic_enabled() to fix a compile error 2010-10-24 10:52:00 +02:00
memcpy.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
memset.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
misc.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
mmio.c tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
optvfault.S KVM: ia64: Drop in SN2 replacement of fast path ITC emulation fault handler 2009-06-10 11:48:29 +03:00
process.c Fix common misspellings 2011-03-31 11:26:23 -03:00
trampoline.S KVM: ia64: Add trampoline for guest/host mode switch 2008-04-27 12:01:08 +03:00
vcpu.c KVM: ia64: Fix string literal continuation lines 2010-03-01 12:36:07 -03:00
vcpu.h KVM: ia64: fix build breakage due to host spinlock change 2009-12-27 13:36:33 -02:00
vmm.c KVM: Let vcpu structure alignment be determined at runtime 2010-05-19 11:36:29 +03:00
vmm_ivt.S Rename .text.ivt to .text..ivt. 2010-03-03 11:26:00 +01:00
vti.h KVM: ia64: fix sparse warnings 2011-05-22 08:39:57 -04:00
vtlb.c KVM: ia64: fix build breakage due to host spinlock change 2009-12-27 13:36:33 -02:00