On Thu, Jun 16, 2022 at 04:52:11PM -0700, Nicolin Chen wrote: > The pinned PFN list returned from vfio_pin_pages() is simply converted > using page_to_pfn() without protection, so direct access via memcpy() > will crash on S390 if the PFN is an IO PFN. Instead, the pages should > be touched using kmap_local_page(). I don't see how this helps. kmap_local_page only works for either pages in the kernel direct map or highmem, but not for memory that needs to be ioremapped. And there is no highmem on s390.