diff mbox series

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

Message ID 20221017032333.1852406-1-yangyingliang@huawei.com (mailing list archive)
State Accepted
Commit 8b49670f3bb3f10cd4d5a6dca17f5a31b173ecdc
Headers show
Series powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data() | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 23 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 6 jobs.

Commit Message

Yang Yingliang Oct. 17, 2022, 3:23 a.m. UTC
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 <yangyingliang@huawei.com>
---
 arch/powerpc/sysdev/xive/spapr.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Cédric Le Goater Oct. 17, 2022, 9:18 a.m. UTC | #1
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 <yangyingliang@huawei.com>

Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.
> ---
>   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;
>   	}
Michael Ellerman Nov. 30, 2022, 9:24 a.m. UTC | #2
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
diff mbox series

Patch

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;
 	}