Re: [PATCH] irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size

From: Greg KH
Date: Tue Jan 29 2019 - 04:47:48 EST


On Mon, Jan 28, 2019 at 06:00:15PM +0100, Ard Biesheuvel wrote:
> From: Marc Zyngier <marc.zyngier@xxxxxxx>
>
> Commit 8208d1708b88b412ca97f50a6d951242c88cbbac upstream.
>
> The way we allocate events works fine in most cases, except
> when multiple PCI devices share an ITS-visible DevID, and that
> one of them is trying to use MultiMSI allocation.
>
> In that case, our allocation is not guaranteed to be zero-based
> anymore, and we have to make sure we allocate it on a boundary
> that is compatible with the PCI Multi-MSI constraints.
>
> Fix this by allocating the full region upfront instead of iterating
> over the number of MSIs. MSI-X are always allocated one by one,
> so this shouldn't change anything on that front.
>
> Fixes: b48ac83d6bbc2 ("irqchip: GICv3: ITS: MSI support")
> Cc: <stable@xxxxxxxxxxxxxxx> # v4.4 - v4.9
> Reported-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
> [ardb: rebased onto v4.9.153, should apply cleanly onto v4.4.y as well]
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> ---
> drivers/irqchip/irq-gic-v3-its.c | 25 ++++++++++----------
> 1 file changed, 13 insertions(+), 12 deletions(-)

Now queued up, thanks.

greg k-h