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 <yangyingli...@huawei.com>

Reviewed-by: Cédric Le Goater <c...@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;
        }

Reply via email to