Hi all, This series of backports fixes the SWIOTLB library to maintain the page offset when mapping a DMA address. The bug that motivated this patch series manifested when running a 5.4 kernel as a SEV guest with an NVMe device. However, any device that infers information from the page offset and is accessed through the SWIOTLB will benefit from this bug fix. change log: >From V1 to V2: Updated comments to match sign-offs from original patch. Updated patch 5 and 7 to make sure they apply cleanly. Jianxiong Gao (8): driver core: add a min_align_mask field to struct device_dma_parameters swiotlb: factor out an io_tlb_offset helper swiotlb: factor out a nr_slots helper swiotlb: clean up swiotlb_tbl_unmap_single swiotlb: refactor swiotlb_tbl_map_single swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single swiotlb: respect min_align_mask nvme-pci: set min_align_mask drivers/nvme/host/pci.c | 1 + include/linux/device.h | 1 + include/linux/dma-mapping.h | 16 +++ include/linux/swiotlb.h | 1 + kernel/dma/swiotlb.c | 260 ++++++++++++++++++++---------------- 5 files changed, 162 insertions(+), 117 deletions(-) -- 2.27.0