Hi, Jianmin,
On Wed, Aug 3, 2022 at 3:20 PM Marc Zyngier <maz@xxxxxxxxxx> wrote:
Do you know the exact reason? Please give some information, thanks.
On Wed, 03 Aug 2022 05:27:27 +0100,
Huacai Chen <chenhuacai@xxxxxxxxxxx> wrote:
Check hwirq overflow when allocate irq in eiointc domain.
Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx>
---
drivers/irqchip/irq-loongson-eiointc.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/irqchip/irq-loongson-eiointc.c b/drivers/irqchip/irq-loongson-eiointc.c
index 80d8ca6f2d46..f8060e58ee06 100644
--- a/drivers/irqchip/irq-loongson-eiointc.c
+++ b/drivers/irqchip/irq-loongson-eiointc.c
@@ -241,8 +241,11 @@ static int eiointc_domain_alloc(struct irq_domain *domain, unsigned int virq,
struct eiointc *priv = domain->host_data;
ret = irq_domain_translate_onecell(domain, arg, &hwirq, &type);
- if (ret)
- return ret;
+ if (ret < 0)
+ return -EINVAL;
+
+ if (hwirq >= IOCSR_EXTIOI_VECTOR_NUM)
+ return -EINVAL;
How can this happen? Also, you're allocating a *range*. Surely the
upper boundary should matter too?
OK, I will add a cover letter, even for simple fix patches. Sorry.
And for the umpteenth time, please add a cover letter when sending
multiple patches. This is a hard requirement for me.
Huacai
Thanks,
M.
--
Without deviation from the norm, progress is not possible.