On Mon, Jan 16 2023 at 14:50, Johan Hovold wrote: > Avoid looking for an existing mapping twice when creating a new mapping > using irq_create_fwspec_mapping() by factoring out the actual allocation > which is shared with irq_create_mapping_affinity(). This changelog is incomplete and it took me a while to figure out why this is before the race fix. The point is that you need __irq_create_mapping_affinity() later to fix the shared mapping race. The double check avoidance is just a nice side effect. So please spell it out and make it clear that this needs to be backported too, e.g. by adding: The split out internal function will be used to fix a shared interrupt mapping race. This change is therefore tagged with the same fixes tag. Fixes: .... > > +static unsigned int __irq_create_mapping_affinity(struct irq_domain *domain, > + irq_hw_number_t hwirq, > + const struct irq_affinity_desc *affinity) Please rename to irq_create_mapping_affinity_locked() so it's clear what this is about and what the calling convention is. A lockdep assert to that effect would be nice too. Thanks, tglx