Re: [PATCH] irqchip/gic-v3-its: Fix MSI alias accounting

From: Marc Zyngier
Date: Wed May 31 2017 - 14:29:29 EST


On 31/05/17 18:52, Robin Murphy wrote:
> The call to pci_for_each_dma_alias() in the ITS PCI code has aroused
> suspicion in the past, and upon closer inspection does turn out to be
> completely backwards. Rather than iterating through each RID alias of
> the given device, what we actually want to be doing here is iterating
> through all the *other* devices which may also alias the same RID, in
> order to size the table for the worst case.
>
> Do the right thing by ignoring the initial DMA aliases themselves and
> just using that walk to detect an aliasing bridge, then walking back
> down the bus topology as necessary to actually count everything else.
>
> Our alias handling still isn't perfect, since we don't account for the
> cases of certain bridges only taking ownership of transactions under
> particular circumstances, but without completely reworking the ITS code
> to cope with the notion of multiple DevIDs per device, it'll have to do.
>
> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx>

Ah, that's pretty neat.

Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>

I'll queue this for 4.13.

Thanks,

M.
--
Jazz is not dead. It just smells funny...