[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: [PATCH] xen: fix off-by-one error in find_unbound_irq
On Fri, 2010-02-26 at 20:13 +0000, Jeremy Fitzhardinge wrote: > On 02/26/2010 03:22 AM, Ian Campbell wrote: > > BTW, this is against xen/master, the original patch isn't in xen/next. > > > > Looks like it came from the pcifront branch which isn't in xen/next yet. Makes sense. I don't think my fix is right though, exiting that loop with irq == nr_irqs - 1 can be valid if the test in first iteration succeeds and we break out The error case is when start == nr_irqs which means we do no iterations of the loop at all but still exit with irq == nr_irqs - 1. Ian. > > J > > > On Fri, 2010-02-26 at 10:59 +0000, Ian Campbell wrote: > > > >> e459de95 "Find an unbound irq number in reverse order (high to low)" > >> introduced > >> an off by one error which would cause repeated allocations of the > >> nr_irq'th IRQ > >> if there are no spare interrupts (i.e. get_nr_hw_irqs() == nr_irqs). > >> > >> Signed-off-by: Ian Campbell<ian.campbell@xxxxxxxxxx> > >> Cc: Konrad Rzeszutek Wilk<konrad.wilk@xxxxxxxxxx> > >> Cc: Jeremy Fitzhardinge<jeremy.fitzhardinge@xxxxxxxxxx> > >> --- > >> drivers/xen/events.c | 2 +- > >> 1 files changed, 1 insertions(+), 1 deletions(-) > >> > >> diff --git a/drivers/xen/events.c b/drivers/xen/events.c > >> index 99f2b2a..5c64e1d 100644 > >> --- a/drivers/xen/events.c > >> +++ b/drivers/xen/events.c > >> @@ -377,7 +377,7 @@ static int find_unbound_irq(void) > >> if (irq_info[irq].type == IRQT_UNBOUND) > >> break; > >> > >> - if (irq == start || irq == nr_irqs) > >> + if (irq == start || irq == nr_irqs - 1) > >> panic("No available IRQ to bind to: increase nr_irqs!\n"); > >> > >> desc = irq_to_desc_alloc_node(irq, 0); > >> > > > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@xxxxxxxxxxxxxxxxxxx > > http://lists.xensource.com/xen-devel > > > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |