public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 1/1] KVM: s390: pci: fix virtual-physical confusion on module unload/load
@ 2023-02-22 15:55 Nico Boehr
  2023-02-22 15:55 ` [PATCH v1 0/1] " Nico Boehr
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Nico Boehr @ 2023-02-22 15:55 UTC (permalink / raw)
  To: borntraeger, frankja, imbrenda, mjrosato, farman, david; +Cc: kvm, linux-s390

When the kvm module is unloaded, zpci_setup_aipb() perists some data in the
zpci_aipb structure in s390 pci code. Note that this struct is also passed
to firmware in the zpci_set_irq_ctrl() call and thus the GAIT must be a
physical address.

On module re-insertion, the GAIT is restored from this structure in
zpci_reset_aipb(). But it is a physical address, hence this may cause
issues when the kvm module is unloaded and loaded again.

Fix virtual vs physical address confusion (which currently are the same) by
adding the necessary physical-to-virtual-conversion in zpci_reset_aipb().

Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
---
 arch/s390/kvm/pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/s390/kvm/pci.c b/arch/s390/kvm/pci.c
index ec51e810e381..9adb4a4b2bba 100644
--- a/arch/s390/kvm/pci.c
+++ b/arch/s390/kvm/pci.c
@@ -112,7 +112,7 @@ static int zpci_reset_aipb(u8 nisc)
 		return -EINVAL;
 
 	aift->sbv = zpci_aif_sbv;
-	aift->gait = (struct zpci_gaite *)zpci_aipb->aipb.gait;
+	aift->gait = phys_to_virt(zpci_aipb->aipb.gait);
 
 	return 0;
 }
-- 
2.39.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-02-22 17:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-22 15:55 [PATCH v1 1/1] KVM: s390: pci: fix virtual-physical confusion on module unload/load Nico Boehr
2023-02-22 15:55 ` [PATCH v1 0/1] " Nico Boehr
2023-02-22 16:40 ` [PATCH v1 1/1] " Matthew Rosato
2023-02-22 16:42 ` Alexander Gordeev
2023-02-22 17:04   ` Matthew Rosato

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox