Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'stable/for-linus-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb

Pull swiotlb fix from Konrad Rzeszutek Wilk:
"One single fix in here: under Xen the DMA32 heap (in the hypervisor)
would end up looking like swiss cheese.

The reason being that for every coherent DMA allocation we didn't do
the proper hypercall to tell Xen to return the page back to the DMA32
heap. End result was (eventually) no DMA32 space if you (for example)
continously unloaded and loaded modules"

* 'stable/for-linus-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
xen-swiotlb: fix the check condition for xen_swiotlb_free_coherent

+1 -1
+1 -1
drivers/xen/swiotlb-xen.c
··· 351 351 * physical address */ 352 352 phys = xen_bus_to_phys(dev_addr); 353 353 354 - if (((dev_addr + size - 1 > dma_mask)) || 354 + if (((dev_addr + size - 1 <= dma_mask)) || 355 355 range_straddles_page_boundary(phys, size)) 356 356 xen_destroy_contiguous_region(phys, order); 357 357