irqchip/loongson-pch-pic: Fix translate callback for DT path
authorJianmin Lv <lvjianmin@loongson.cn>
Sat, 22 Oct 2022 07:59:53 +0000 (15:59 +0800)
committerMarc Zyngier <maz@kernel.org>
Sat, 26 Nov 2022 13:05:38 +0000 (13:05 +0000)
In DT path of translate callback, if fwspec->param_count==1
and of_node is non-null, fwspec->param[1] will be accessed,
which is introduced from previous commit bcdd75c596c8
(irqchip/loongson-pch-pic: Add ACPI init support).

Before the patch, for non-null of_node, translate callback
(use irq_domain_translate_twocell()) will return -EINVAL if
fwspec->param_count < 2, so the check in the patch is added.

Fixes: bcdd75c596c8 ("irqchip/loongson-pch-pic: Add ACPI init support")
Signed-off-by: Jianmin Lv <lvjianmin@loongson.cn>
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221022075955.11726-3-lvjianmin@loongson.cn
drivers/irqchip/irq-loongson-pch-pic.c

index c01b9c2..03493cd 100644 (file)
@@ -159,6 +159,9 @@ static int pch_pic_domain_translate(struct irq_domain *d,
                return -EINVAL;
 
        if (of_node) {
+               if (fwspec->param_count < 2)
+                       return -EINVAL;
+
                *hwirq = fwspec->param[0] + priv->ht_vec_base;
                *type = fwspec->param[1] & IRQ_TYPE_SENSE_MASK;
        } else {