diff mbox series

[v4,2/2] irqchip/gic-v3-its: remove BUG_ON in its_vpe_irq_domain_alloc

Message ID 20240413064051.31315-2-guanrui.huang@linux.alibaba.com (mailing list archive)
State New
Headers show
Series [v4,1/2] irqchip/gic-v3-its: Fix double free on error | expand

Commit Message

Guanrui Huang April 13, 2024, 6:40 a.m. UTC
If vm is NULL in here, that means caller has a bug.
BUG_ON in here is useless, this will paper over bug.

So just remove this check.

Signed-off-by: Guanrui Huang <guanrui.huang@linux.alibaba.com>
---
 drivers/irqchip/irq-gic-v3-its.c | 2 --
 1 file changed, 2 deletions(-)

Comments

Marc Zyngier April 13, 2024, 8:44 a.m. UTC | #1
On Sat, 13 Apr 2024 07:40:51 +0100,
Guanrui Huang <guanrui.huang@linux.alibaba.com> wrote:
> 
> If vm is NULL in here, that means caller has a bug.
> BUG_ON in here is useless, this will paper over bug.

This BUG_ON() doesn't paper over a bug like your previous patch
did. It catches a bug (vm should never be NULL), but also forces the
system to crash for no good reason.

The same effect will be obtained by letting the code run its course
and vm being dereferenced, triggering an exception.

> 
> So just remove this check.
> 
> Signed-off-by: Guanrui Huang <guanrui.huang@linux.alibaba.com>
> ---
>  drivers/irqchip/irq-gic-v3-its.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> index 2305f6b524a9..55c83e19719d 100644
> --- a/drivers/irqchip/irq-gic-v3-its.c
> +++ b/drivers/irqchip/irq-gic-v3-its.c
> @@ -4521,8 +4521,6 @@ static int its_vpe_irq_domain_alloc(struct irq_domain *domain, unsigned int virq
>  	struct page *vprop_page;
>  	int base, nr_ids, i, err = 0;
>  
> -	BUG_ON(!vm);
> -
>  	bitmap = its_lpi_alloc(roundup_pow_of_two(nr_irqs), &base, &nr_ids);
>  	if (!bitmap)
>  		return -ENOMEM;

With the commit message fixed:

Acked-by: Marc Zyngier <maz@kernel.org>

	M.
diff mbox series

Patch

diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index 2305f6b524a9..55c83e19719d 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -4521,8 +4521,6 @@  static int its_vpe_irq_domain_alloc(struct irq_domain *domain, unsigned int virq
 	struct page *vprop_page;
 	int base, nr_ids, i, err = 0;
 
-	BUG_ON(!vm);
-
 	bitmap = its_lpi_alloc(roundup_pow_of_two(nr_irqs), &base, &nr_ids);
 	if (!bitmap)
 		return -ENOMEM;