s390/vfio-ap: GISA: sort out physical vs virtual pointers usage
authorNico Boehr <nrb@linux.ibm.com>
Fri, 18 Nov 2022 10:04:29 +0000 (11:04 +0100)
committerJanosch Frank <frankja@linux.ibm.com>
Wed, 23 Nov 2022 09:06:50 +0000 (09:06 +0000)
Fix virtual vs physical address confusion (which currently are the same)
for the GISA when enabling the IRQ.

Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20221118100429.70453-1-nrb@linux.ibm.com
Message-Id: <20221118100429.70453-1-nrb@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
drivers/s390/crypto/vfio_ap_ops.c

index 0b4cc8c..205a001 100644 (file)
@@ -429,7 +429,7 @@ static struct ap_queue_status vfio_ap_irq_enable(struct vfio_ap_queue *q,
 
        aqic_gisa.isc = nisc;
        aqic_gisa.ir = 1;
-       aqic_gisa.gisa = (uint64_t)gisa >> 4;
+       aqic_gisa.gisa = virt_to_phys(gisa) >> 4;
 
        status = ap_aqic(q->apqn, aqic_gisa, h_nib);
        switch (status.response_code) {