vfio/ccw: identify CCW data addresses as physical
authorEric Farman <farman@linux.ibm.com>
Mon, 21 Nov 2022 16:58:36 +0000 (17:58 +0100)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Mon, 5 Dec 2022 14:01:36 +0000 (15:01 +0100)
commit5de2322d7b8ecba37152334ebaaddf687fd63a38
treeb0c3e15c0f35a63ec80f790cfe2039a77a9152f7
parent21c7996917cb5c9d8669409b00d990b75d22a849
vfio/ccw: identify CCW data addresses as physical

The CCW data address created by vfio-ccw is that of an IDAL
built by this code. Since this address is used by real hardware,
it should be a physical address rather than a virtual one.
Let's clarify it as such in the ORB.

Similarly, once the I/O has completed the memory for that IDAL
needs to be released, so convert the CCW data address back to
a virtual address so that kfree() can process it.

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

Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Nico Boehr <nrb@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Link: https://lore.kernel.org/r/20221121165836.283781-3-farman@linux.ibm.com
drivers/s390/cio/vfio_ccw_cp.c