Re: [PATCH] irqchip/loongson-htvec:- Handle return value of ioremap.

From: Marc Zyngier
Date: Thu Oct 21 2021 - 05:23:08 EST


On Fri, 15 Oct 2021 08:25:23 +0100,
zhaoxiao <long870912@xxxxxxxxx> wrote:
>
> From: zhaoxiao <zhaoxiao@xxxxxxxxxxxxx>
>
> Here, If ioremap will fail. It will return NULL.Kernel can run into
> a NULL-pointer dereference. This error check will avoid NULL pointer
> dereference.
>
> Signed-off-by: zhaoxiao <zhaoxiao@xxxxxxxxxxxxx>
> ---
> drivers/irqchip/irq-loongson-htvec.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/irqchip/irq-loongson-htvec.c b/drivers/irqchip/irq-loongson-htvec.c
> index 1cc0bceb4472..a36c20f44ec4 100644
> --- a/drivers/irqchip/irq-loongson-htvec.c
> +++ b/drivers/irqchip/irq-loongson-htvec.c
> @@ -267,6 +267,8 @@ struct fwnode_handle *htvec_acpi_init(struct fwnode_handle *parent,
>
> priv->num_parents = HTVEC_MAX_PARENT_IRQ;
> priv->base = ioremap(acpi_htvec->address, acpi_htvec->size);
> + if (!priv->base)
> + goto free_priv;
>
> /* Interrupt may come from any of the 8 interrupt lines */
> for (i = 0; i < priv->num_parents; i++)
> @@ -307,6 +309,7 @@ struct fwnode_handle *htvec_acpi_init(struct fwnode_handle *parent,
> iounmap_base:
> iounmap(priv->base);
> priv->domain_handle = NULL;
> +free_priv:
> kfree(priv);
>
> return NULL;

I have no idea what code base this patch is against, but certainly not
any upstream kernel. There is no trace of any ACPI support in this
driver.

Please only send patches that make sense for upstream.

M.

--
Without deviation from the norm, progress is not possible.