On Mon, Jan 28, 2019 at 06:00:15PM +0100, Ard Biesheuvel wrote:
> From: Marc Zyngier <marc.zyng...@arm.com>
> 
> 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: <sta...@vger.kernel.org> # v4.4 - v4.9
> Reported-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
> Tested-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
> Signed-off-by: Marc Zyngier <marc.zyng...@arm.com>
> [ardb: rebased onto v4.9.153, should apply cleanly onto v4.4.y as well]
> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
> ---
>  drivers/irqchip/irq-gic-v3-its.c | 25 ++++++++++----------
>  1 file changed, 13 insertions(+), 12 deletions(-)

Now queued up, thanks.

greg k-h

Reply via email to