On Mon, 2011-02-21 at 12:50 +0000, Stefano Stabellini wrote:
> On Fri, 18 Feb 2011, Ian Campbell wrote:
> > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> > Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
> > Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> > Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
> > ---
> > drivers/xen/events.c | 5 ++++-
> > 1 files changed, 4 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> > index c536157..41a8a65 100644
> > --- a/drivers/xen/events.c
> > +++ b/drivers/xen/events.c
> > @@ -666,8 +666,11 @@ void xen_allocate_pirq_msi(char *name, int *irq, int
> > *pirq, int alloc)
> >
> > if (alloc & XEN_ALLOC_PIRQ) {
> > *pirq = find_unbound_pirq(MAP_PIRQ_TYPE_MSI);
> > - if (*pirq == -1)
> > + if (*pirq == -1) {
> > + xen_free_irq(*irq);
> > + *irq = -1;
> > goto out;
> > + }
> > }
> >
> > set_irq_chip_and_handler_name(*irq, &xen_pirq_chip,
>
> What if the caller didn't pass XEN_ALLOC_IRQ?
> *irq could contain garbage here.
> Considering that later on you are removing XEN_ALLOC_IRQ altogether,
> maybe you just need to move this patch afterwards.
good idea.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|