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

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'dma-mapping-6.3-2023-04-08' of git://git.infradead.org/users/hch/dma-mapping

Pull dma-mapping fix from Christoph Hellwig:

- fix a braino in the swiotlb alignment check fix (Petr Tesarik)

* tag 'dma-mapping-6.3-2023-04-08' of git://git.infradead.org/users/hch/dma-mapping:
swiotlb: fix a braino in the alignment check fix

+3 -3
+3 -3
kernel/dma/swiotlb.c
··· 623 623 phys_to_dma_unencrypted(dev, mem->start) & boundary_mask; 624 624 unsigned long max_slots = get_max_slots(boundary_mask); 625 625 unsigned int iotlb_align_mask = 626 - dma_get_min_align_mask(dev) & ~(IO_TLB_SIZE - 1); 626 + dma_get_min_align_mask(dev) | alloc_align_mask; 627 627 unsigned int nslots = nr_slots(alloc_size), stride; 628 628 unsigned int offset = swiotlb_align_offset(dev, orig_addr); 629 629 unsigned int index, slots_checked, count = 0, i; ··· 639 639 * allocations. 640 640 */ 641 641 if (alloc_size >= PAGE_SIZE) 642 - iotlb_align_mask &= PAGE_MASK; 643 - iotlb_align_mask &= alloc_align_mask; 642 + iotlb_align_mask |= ~PAGE_MASK; 643 + iotlb_align_mask &= ~(IO_TLB_SIZE - 1); 644 644 645 645 /* 646 646 * For mappings with an alignment requirement don't bother looping to