]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
KVM: s390: pci: Fix aisb calculation
authorMatthew Rosato <mjrosato@linux.ibm.com>
Fri, 24 Apr 2026 19:39:00 +0000 (15:39 -0400)
committerChristian Borntraeger <borntraeger@linux.ibm.com>
Mon, 27 Apr 2026 09:14:45 +0000 (11:14 +0200)
commit0cfe660559e857d7c00ab86c73e4510ce069086f
tree7d4a763a847ef3baa826c64c38f99da9df2d3104
parent16d990a15491cf76cd6eef0846e1b4100e63261a
KVM: s390: pci: Fix aisb calculation

The current implementation of aisb calculation will erroneously index
via an unsigned long * as well as multiply by 8B for every 64-bits in
the offset; only one or the other is required.  This throws off aisb
calculations once the number of devices exceeds 64, and can result
in out-of-bounds access as well as failure to indicate summary bits
associated with those devices in guests.

Fix this by converting to a physical address before applying the
offset, as is already done in arch/s390/pci/pci_irq.c.

Fixes: 3c5a1b6f0a18 ("KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding")
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
arch/s390/kvm/pci.c