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 |
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. |
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; > }
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 --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; }
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(+)