linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
@ 2020-11-29 13:55 Marc Zyngier
  2020-11-30  8:58 ` Antoine Tenart
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Marc Zyngier @ 2020-11-29 13:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: Thomas Gleixner, Tsahee Zidenberg, Antoine Tenart

The alpine-msi driver has an interesting allocation error handling,
where it frees the same interrupts repeatedly. Hilarity follows.

This code is probably never executed, but let's fix it nonetheless.

Fixes: e6b78f2c3e14 ("irqchip: Add the Alpine MSIX interrupt controller")
Cc: Tsahee Zidenberg <tsahee@annapurnalabs.com>
Cc: Antoine Tenart <atenart@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
---
 drivers/irqchip/irq-alpine-msi.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/irqchip/irq-alpine-msi.c b/drivers/irqchip/irq-alpine-msi.c
index 23a3b877f7f1..ede02dc2bcd0 100644
--- a/drivers/irqchip/irq-alpine-msi.c
+++ b/drivers/irqchip/irq-alpine-msi.c
@@ -165,8 +165,7 @@ static int alpine_msix_middle_domain_alloc(struct irq_domain *domain,
 	return 0;
 
 err_sgi:
-	while (--i >= 0)
-		irq_domain_free_irqs_parent(domain, virq, i);
+	irq_domain_free_irqs_parent(domain, virq, i - 1);
 	alpine_msix_free_sgi(priv, sgi, nr_irqs);
 	return err;
 }
-- 
2.29.2


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

* Re: [PATCH] irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
  2020-11-29 13:55 [PATCH] irqchip/alpine-msi: Fix freeing of interrupts on allocation error path Marc Zyngier
@ 2020-11-30  8:58 ` Antoine Tenart
  2020-12-11 14:58 ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
  2020-12-11 15:01 ` [PATCH] " Marc Zyngier
  2 siblings, 0 replies; 4+ messages in thread
From: Antoine Tenart @ 2020-11-30  8:58 UTC (permalink / raw)
  To: Marc Zyngier, linux-kernel; +Cc: Thomas Gleixner, Tsahee Zidenberg

Hello Marc,

Quoting Marc Zyngier (2020-11-29 14:55:25)
> The alpine-msi driver has an interesting allocation error handling,
> where it frees the same interrupts repeatedly. Hilarity follows.

That's interesting indeed...

> This code is probably never executed, but let's fix it nonetheless.
> 
> Fixes: e6b78f2c3e14 ("irqchip: Add the Alpine MSIX interrupt controller")
> Cc: Tsahee Zidenberg <tsahee@annapurnalabs.com>
> Cc: Antoine Tenart <atenart@kernel.org>
> Signed-off-by: Marc Zyngier <maz@kernel.org>

Reviewed-by: Antoine Tenart <atenart@kernel.org>

Thanks,
Antoine

> ---
>  drivers/irqchip/irq-alpine-msi.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/irqchip/irq-alpine-msi.c b/drivers/irqchip/irq-alpine-msi.c
> index 23a3b877f7f1..ede02dc2bcd0 100644
> --- a/drivers/irqchip/irq-alpine-msi.c
> +++ b/drivers/irqchip/irq-alpine-msi.c
> @@ -165,8 +165,7 @@ static int alpine_msix_middle_domain_alloc(struct irq_domain *domain,
>         return 0;
>  
>  err_sgi:
> -       while (--i >= 0)
> -               irq_domain_free_irqs_parent(domain, virq, i);
> +       irq_domain_free_irqs_parent(domain, virq, i - 1);
>         alpine_msix_free_sgi(priv, sgi, nr_irqs);
>         return err;
>  }
> -- 
> 2.29.2
> 

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

* [irqchip: irq/irqchip-next] irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
  2020-11-29 13:55 [PATCH] irqchip/alpine-msi: Fix freeing of interrupts on allocation error path Marc Zyngier
  2020-11-30  8:58 ` Antoine Tenart
@ 2020-12-11 14:58 ` irqchip-bot for Marc Zyngier
  2020-12-11 15:01 ` [PATCH] " Marc Zyngier
  2 siblings, 0 replies; 4+ messages in thread
From: irqchip-bot for Marc Zyngier @ 2020-12-11 14:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Marc Zyngier, Antoine Tenart, Tsahee Zidenberg, tglx

The following commit has been merged into the irq/irqchip-next branch of irqchip:

Commit-ID:     3841245e8498a789c65dedd7ffa8fb2fee2c0684
Gitweb:        https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/3841245e8498a789c65dedd7ffa8fb2fee2c0684
Author:        Marc Zyngier <maz@kernel.org>
AuthorDate:    Sun, 29 Nov 2020 13:55:25 
Committer:     Marc Zyngier <maz@kernel.org>
CommitterDate: Fri, 11 Dec 2020 14:45:22 

irqchip/alpine-msi: Fix freeing of interrupts on allocation error path

The alpine-msi driver has an interesting allocation error handling,
where it frees the same interrupts repeatedly. Hilarity follows.

This code is probably never executed, but let's fix it nonetheless.

Fixes: e6b78f2c3e14 ("irqchip: Add the Alpine MSIX interrupt controller")
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Antoine Tenart <atenart@kernel.org>
Cc: Tsahee Zidenberg <tsahee@annapurnalabs.com>
Cc: Antoine Tenart <atenart@kernel.org>
Link: https://lore.kernel.org/r/20201129135525.396671-1-maz@kernel.org
---
 drivers/irqchip/irq-alpine-msi.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/irqchip/irq-alpine-msi.c b/drivers/irqchip/irq-alpine-msi.c
index 23a3b87..ede02dc 100644
--- a/drivers/irqchip/irq-alpine-msi.c
+++ b/drivers/irqchip/irq-alpine-msi.c
@@ -165,8 +165,7 @@ static int alpine_msix_middle_domain_alloc(struct irq_domain *domain,
 	return 0;
 
 err_sgi:
-	while (--i >= 0)
-		irq_domain_free_irqs_parent(domain, virq, i);
+	irq_domain_free_irqs_parent(domain, virq, i - 1);
 	alpine_msix_free_sgi(priv, sgi, nr_irqs);
 	return err;
 }

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

* Re: [PATCH] irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
  2020-11-29 13:55 [PATCH] irqchip/alpine-msi: Fix freeing of interrupts on allocation error path Marc Zyngier
  2020-11-30  8:58 ` Antoine Tenart
  2020-12-11 14:58 ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
@ 2020-12-11 15:01 ` Marc Zyngier
  2 siblings, 0 replies; 4+ messages in thread
From: Marc Zyngier @ 2020-12-11 15:01 UTC (permalink / raw)
  To: shawnguo, linux, leoyang.li, mark.rutland, zhiqiang.hou,
	Biwen Li, robh+dt, tglx, linux-kernel, Marc Zyngier
  Cc: xiaobo.xie, Hou Zhiqiang, devicetree, linux-arm-kernel, Biwen Li,
	jiafei.pan, Tsahee Zidenberg, Antoine Tenart

On Sun, 29 Nov 2020 13:55:25 +0000, Marc Zyngier wrote:
> The alpine-msi driver has an interesting allocation error handling,
> where it frees the same interrupts repeatedly. Hilarity follows.
> 
> This code is probably never executed, but let's fix it nonetheless.

Applied to irq/irqchip-next, thanks!

[1/1] irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
      commit: 3841245e8498a789c65dedd7ffa8fb2fee2c0684

Cheers,

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



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

end of thread, other threads:[~2020-12-11 15:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-29 13:55 [PATCH] irqchip/alpine-msi: Fix freeing of interrupts on allocation error path Marc Zyngier
2020-11-30  8:58 ` Antoine Tenart
2020-12-11 14:58 ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2020-12-11 15:01 ` [PATCH] " Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).