genirq/msi: Initialize msi_alloc_info before calling msi_domain_prepare_irqs()
authorZenghui Yu <yuzenghui@huawei.com>
Fri, 18 Dec 2020 06:00:39 +0000 (14:00 +0800)
committerMarc Zyngier <maz@kernel.org>
Fri, 18 Dec 2020 17:42:18 +0000 (17:42 +0000)
commit06fde695ee76429634c1e8c8c1154035aa61191e
tree56fa4ad2c765d241bb8187d2eac79f049c4c784b
parent2f5fbc4305d07725bfebaedb09e57271315691ef
genirq/msi: Initialize msi_alloc_info before calling msi_domain_prepare_irqs()

Since commit 5fe71d271df8 ("irqchip/gic-v3-its: Tag ITS device as shared if
allocating for a proxy device"), some of the devices are wrongly marked as
"shared" by the ITS driver on systems equipped with the ITS(es). The
problem is that the @info->flags may not be initialized anywhere and we end
up looking at random bits on the stack. That's obviously not good.

We can perform the initialization in the IRQ core layer before calling
msi_domain_prepare_irqs(), which is neat enough.

Fixes: 5fe71d271df8 ("irqchip/gic-v3-its: Tag ITS device as shared if allocating for a proxy device")
Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20201218060039.1770-1-yuzenghui@huawei.com
kernel/irq/msi.c