[PATCH] powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE1376d LANDED

Landed in mainline as 8b49670f3bb3 on 2022-11-24.

3 messages, 3 authors, 2022-11-30 · open the first message on its own page

[PATCH] powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()

From: Yang Yingliang <hidden>
Date: 2022-10-17 03:25:49

If remapping 'data->trig_page' fails, the 'data->eoi_mmio' need be unmapped
before returning from xive_spapr_populate_irq_data().

Fixes: eac1e731b59e ("powerpc/xive: guest exploitation of the XIVE interrupt controller")
Signed-off-by: Yang Yingliang <redacted>
---
 arch/powerpc/sysdev/xive/spapr.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/sysdev/xive/spapr.c b/arch/powerpc/sysdev/xive/spapr.c
index e2c8f93b535b..e45419264391 100644
--- a/arch/powerpc/sysdev/xive/spapr.c
+++ b/arch/powerpc/sysdev/xive/spapr.c
@@ -439,6 +439,7 @@ static int xive_spapr_populate_irq_data(u32 hw_irq, struct xive_irq_data *data)
 
 	data->trig_mmio = ioremap(data->trig_page, 1u << data->esb_shift);
 	if (!data->trig_mmio) {
+		iounmap(data->eoi_mmio);
 		pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq);
 		return -ENOMEM;
 	}
-- 
2.25.1

Re: [PATCH] powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()

From: Cédric Le Goater <clg@kaod.org>
Date: 2022-10-17 09:34:46

On 10/17/22 05:23, Yang Yingliang wrote:
If remapping 'data->trig_page' fails, the 'data->eoi_mmio' need be unmapped
before returning from xive_spapr_populate_irq_data().

Fixes: eac1e731b59e ("powerpc/xive: guest exploitation of the XIVE interrupt controller")
Signed-off-by: Yang Yingliang <redacted>
Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.
quoted hunk
---
  arch/powerpc/sysdev/xive/spapr.c | 1 +
  1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/sysdev/xive/spapr.c b/arch/powerpc/sysdev/xive/spapr.c
index e2c8f93b535b..e45419264391 100644
--- a/arch/powerpc/sysdev/xive/spapr.c
+++ b/arch/powerpc/sysdev/xive/spapr.c
@@ -439,6 +439,7 @@ static int xive_spapr_populate_irq_data(u32 hw_irq, struct xive_irq_data *data)
  
  	data->trig_mmio = ioremap(data->trig_page, 1u << data->esb_shift);
  	if (!data->trig_mmio) {
+		iounmap(data->eoi_mmio);
  		pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq);
  		return -ENOMEM;
  	}

Re: [PATCH] powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()

From: Michael Ellerman <hidden>
Date: 2022-11-30 09:54:03

On Mon, 17 Oct 2022 11:23:33 +0800, Yang Yingliang wrote:
If remapping 'data->trig_page' fails, the 'data->eoi_mmio' need be unmapped
before returning from xive_spapr_populate_irq_data().
Applied to powerpc/next.

[1/1] powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()
      https://git.kernel.org/powerpc/c/8b49670f3bb3f10cd4d5a6dca17f5a31b173ecdc

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help