4c73609012
22998-x86-get_page_from_l1e-retcode.patch 22999-x86-mod_l1_entry-retcode.patch 23000-x86-mod_l2_entry-retcode.patch 23096-x86-hpet-no-cpumask_lock.patch 23099-x86-rwlock-scalability.patch 23103-x86-pirq-guest-eoi-check.patch 23127-vtd-bios-settings.patch 23153-x86-amd-clear-DramModEn.patch 23154-x86-amd-iorr-no-rdwr.patch 23199-amd-iommu-unmapped-intr-fault.patch 23200-amd-iommu-intremap-sync.patch 23228-x86-conditional-write_tsc.patch - update xenalyze to revision 98 * Unify setting of vcpu data type * Unify record size checks * Fix cr3_switch not to access hvm struct before it's initialized - add xenalyze.gcc46.patch to fix unused-but-set-variable errors - bnc#688473 - VUL-0: potential buffer overflow in tools cve-2011-1583-4.0.patch - hotplug.losetup.patch correct dev:inode detection and use variable expansion OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=115
26 lines
678 B
Diff
26 lines
678 B
Diff
# HG changeset patch
|
|
# User Keir Fraser <keir@xen.org>
|
|
# Date 1301132521 0
|
|
# Node ID 48dac730a93b27ff60a340564e9a7afd7f9385f4
|
|
# Parent 8f001d864fefac689b7662bc9979eaddf4fd6e9c
|
|
x86: __pirq_guest_eoi() must check it is called for a fully
|
|
guest-bound irq before accessing desc->action.
|
|
|
|
Signed-off-by: Keir Fraser <keir@xen.org>
|
|
|
|
--- a/xen/arch/x86/irq.c
|
|
+++ b/xen/arch/x86/irq.c
|
|
@@ -1022,6 +1022,12 @@ static void __pirq_guest_eoi(struct doma
|
|
if ( desc == NULL )
|
|
return;
|
|
|
|
+ if ( !(desc->status & IRQ_GUEST) )
|
|
+ {
|
|
+ spin_unlock_irq(&desc->lock);
|
|
+ return;
|
|
+ }
|
|
+
|
|
action = (irq_guest_action_t *)desc->action;
|
|
irq = desc - irq_desc;
|
|
|