All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] irqchip/mchp-eic: Fix error code in mchp_eic_domain_alloc()
@ 2025-12-09  6:54 Dan Carpenter
  2025-12-09  9:27 ` Claudiu Beznea
  2025-12-10  3:14 ` [tip: irq/urgent] " tip-bot2 for Dan Carpenter
  0 siblings, 2 replies; 3+ messages in thread
From: Dan Carpenter @ 2025-12-09  6:54 UTC (permalink / raw)
  To: Claudiu Beznea
  Cc: Thomas Gleixner, Marc Zyngier, linux-arm-kernel, linux-kernel,
	kernel-janitors

If the irq_domain_translate_twocell() function sets "hwirq" to >=
MCHP_EIC_NIRQ (2) then it would result in an out of bounds access.
The code here checks for invalid values, but doesn't set the error
code.  Return -EINVAL in that case, instead of returning success.

Fixes: 00fa3461c86d ("irqchip/mchp-eic: Add support for the Microchip EIC")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/irqchip/irq-mchp-eic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-mchp-eic.c b/drivers/irqchip/irq-mchp-eic.c
index 2474fa467a05..31093a8ab67c 100644
--- a/drivers/irqchip/irq-mchp-eic.c
+++ b/drivers/irqchip/irq-mchp-eic.c
@@ -170,7 +170,7 @@ static int mchp_eic_domain_alloc(struct irq_domain *domain, unsigned int virq,
 
 	ret = irq_domain_translate_twocell(domain, fwspec, &hwirq, &type);
 	if (ret || hwirq >= MCHP_EIC_NIRQ)
-		return ret;
+		return ret ?: -EINVAL;
 
 	switch (type) {
 	case IRQ_TYPE_EDGE_RISING:
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-12-10  3:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-09  6:54 [PATCH] irqchip/mchp-eic: Fix error code in mchp_eic_domain_alloc() Dan Carpenter
2025-12-09  9:27 ` Claudiu Beznea
2025-12-10  3:14 ` [tip: irq/urgent] " tip-bot2 for Dan Carpenter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.