]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/suse-2.6.27.39/patches.xen/797-pirq-range-check.patch
Imported linux-2.6.27.39 suse/xen patches.
[ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.xen / 797-pirq-range-check.patch
CommitLineData
2cb7cef9
BS
1From: http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/2f1b770d84e5
2# HG changeset 797,804 patch
3# User Keir Fraser <keir.fraser@citrix.com>
4# Date 1234870273 0
5# Node ID 2f1b770d84e54f76185181b0cc74337bf79a2a83
6# Parent f0db1ac7ca8d55defe710ab0539bdc8578772677
7Subject: linux/x86: fix off-by-one error in the pirq range checks
8Patch-mainline: obsolete
9
10Signed-off-by: Jan Beulich <jbeulich@novell.com>
11
12From: http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/f3de83c4677f
13Subject: linux/evtchn: fix off-by-one error in the pirq range check
14
15Signed-off-by: Jan Beulich <jbeulich@novell.com>
16
17--- sle11-2009-03-16.orig/arch/x86/kernel/io_apic_32-xen.c 2009-03-16 16:13:42.000000000 +0100
18+++ sle11-2009-03-16/arch/x86/kernel/io_apic_32-xen.c 2009-03-16 16:13:45.000000000 +0100
19@@ -1220,7 +1220,7 @@ int assign_irq_vector(int irq)
20
21 BUG_ON(irq != AUTO_ASSIGN && (unsigned)irq >= NR_IRQ_VECTORS);
22
23- if (irq < PIRQ_BASE || irq - PIRQ_BASE > NR_PIRQS)
24+ if (irq < PIRQ_BASE || irq - PIRQ_BASE >= NR_PIRQS)
25 return -EINVAL;
26
27 spin_lock_irqsave(&vector_lock, flags);
28--- sle11-2009-03-16.orig/arch/x86/kernel/io_apic_64-xen.c 2009-03-16 16:13:42.000000000 +0100
29+++ sle11-2009-03-16/arch/x86/kernel/io_apic_64-xen.c 2009-03-16 16:13:45.000000000 +0100
30@@ -895,7 +895,7 @@ int assign_irq_vector(int irq)
31
32 BUG_ON(irq != AUTO_ASSIGN && (unsigned)irq >= NR_IRQ_VECTORS);
33
34- if (irq < PIRQ_BASE || irq - PIRQ_BASE > NR_PIRQS)
35+ if (irq < PIRQ_BASE || irq - PIRQ_BASE >= NR_PIRQS)
36 return -EINVAL;
37
38 spin_lock_irqsave(&vector_lock, flags);
39--- sle11-2009-03-16.orig/drivers/xen/core/evtchn.c 2009-03-16 16:06:43.000000000 +0100
40+++ sle11-2009-03-16/drivers/xen/core/evtchn.c 2009-03-16 16:14:12.000000000 +0100
41@@ -1077,7 +1077,7 @@ void irq_resume(void)
42
43 void evtchn_register_pirq(int irq)
44 {
45- BUG_ON(irq < PIRQ_BASE || irq - PIRQ_BASE > NR_PIRQS);
46+ BUG_ON(irq < PIRQ_BASE || irq - PIRQ_BASE >= NR_PIRQS);
47 if (identity_mapped_irq(irq) || type_from_irq(irq) != IRQT_UNBOUND)
48 return;
49 irq_info[irq] = mk_irq_info(IRQT_PIRQ, irq, 0);