From 2cf484cee084be71b1f63e718d76af7555a6ab14 Mon Sep 17 00:00:00 2001 From: Julien Grall Date: Fri, 24 Jan 2014 16:43:36 +0000 Subject: [PATCH] xen/arm: setup_dt_irq: don't enable the IRQ if the creation has failed For now __setup_dt_irq can only fail if the action is already set. If in the future, the function is updated we don't want to enable the IRQ. Assuming the function can fail with action = NULL, when Xen will receive the IRQ it will segfault because do_IRQ doesn't check if action is NULL. Signed-off-by: Julien Grall Acked-by: Ian Campbell --- xen/arch/arm/gic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c index a607da3370..d028e30dfa 100644 --- a/xen/arch/arm/gic.c +++ b/xen/arch/arm/gic.c @@ -608,8 +608,8 @@ int __init setup_dt_irq(const struct dt_irq *irq, struct irqaction *new) rc = __setup_irq(desc, irq->irq, new); spin_unlock_irqrestore(&desc->lock, flags); - desc->handler->startup(desc); - + if ( !rc ) + desc->handler->startup(desc); return rc; } -- 2.39.5