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.
Jianxiong Gao (7): driver core: add a min_align_mask field to struct device_dma_parameters swiotlb: add a 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 nvme-pci: set min_align_mask
Linus Torvalds (1): Linux 5.4
Makefile | 2 +- drivers/nvme/host/pci.c | 1 + include/linux/device.h | 1 + include/linux/dma-mapping.h | 16 +++ include/linux/swiotlb.h | 3 +- kernel/dma/swiotlb.c | 262 ++++++++++++++++++++---------------- 6 files changed, 165 insertions(+), 120 deletions(-)