Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

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>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221017032333.1852406-1-yangyingliang@huawei.com

authored by

Yang Yingliang and committed by
Michael Ellerman
8b49670f 579aee9f

+1
+1
arch/powerpc/sysdev/xive/spapr.c
··· 439 439 440 440 data->trig_mmio = ioremap(data->trig_page, 1u << data->esb_shift); 441 441 if (!data->trig_mmio) { 442 + iounmap(data->eoi_mmio); 442 443 pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq); 443 444 return -ENOMEM; 444 445 }