KVM: s390: pci: fix GAIT physical vs virtual pointers usage
authorMatthew Rosato <mjrosato@linux.ibm.com>
Wed, 7 Sep 2022 15:59:52 +0000 (11:59 -0400)
committerJanosch Frank <frankja@linux.ibm.com>
Wed, 21 Sep 2022 14:18:38 +0000 (16:18 +0200)
commit70ba8fae27758cc2679a948b03d8a9ca18f1dcb1
treef802b69fa40e8efca43885c7cbf63668afde3926
parentb3cefd6bf16e7234ffbd4209f6083060f4e35f59
KVM: s390: pci: fix GAIT physical vs virtual pointers usage

The GAIT and all of its entries must be represented by physical
addresses as this structure is shared with underlying firmware.
We can keep a virtual address of the GAIT origin in order to
handle processing in the kernel, but when traversing the entries
we must again convert the physical AISB stored in that GAIT entry
into a virtual address in order to process it.

Note: this currently doesn't fix a real bug, since virtual addresses
are indentical to physical ones.

Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Acked-by: Nico Boehr <nrb@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20220907155952.87356-1-mjrosato@linux.ibm.com
Message-Id: <20220907155952.87356-1-mjrosato@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
arch/s390/kvm/interrupt.c
arch/s390/kvm/pci.c