Re: [PATCH 22/24] irqchip/gic-v5: Add GICv5 ITS support

From: Thomas Gleixner
Date: Wed Apr 09 2025 - 15:00:24 EST


On Tue, Apr 08 2025 at 12:50, Lorenzo Pieralisi wrote:
> + guard(mutex)(&its->dev_alloc_lock);
> +
> + its_dev = gicv5_its_find_device(its, device_id);
> + if (IS_ERR(its_dev))
> + return PTR_ERR(its_dev);
> +
> + ret = gicv5_its_alloc_eventid(its_dev, nr_irqs, &event_id_base);
> + if (ret)
> + return ret;
> +
> + ret = iommu_dma_prepare_msi(info->desc,
> + its->its_trans_phys_base);
> + if (ret)
> + goto out_eventid;

As 0-day already complained, guard() and goto does not mix. the simple
solution is to do

foo()
guard()
return __foo();

Then you can put the gotos into __foo()