Merge tag 'dma-mapping-6.11-2024-08-10' of git://git.infradead.org/users/hch/dma-mapping

Pull dma-mapping fix from Christoph Hellwig:

- avoid a deadlock with dma-debug and netconsole (Rik van Riel)

* tag 'dma-mapping-6.11-2024-08-10' of git://git.infradead.org/users/hch/dma-mapping:
dma-debug: avoid deadlock between dma debug vs printk and netconsole

+4 -1
+4 -1
kernel/dma/debug.c
··· 416 416 * dma_active_cacheline entry to track per event. dma_map_sg(), on the 417 417 * other hand, consumes a single dma_debug_entry, but inserts 'nents' 418 418 * entries into the tree. 419 + * 420 + * Use __GFP_NOWARN because the printk from an OOM, to netconsole, could end 421 + * up right back in the DMA debugging code, leading to a deadlock. 419 422 */ 420 - static RADIX_TREE(dma_active_cacheline, GFP_ATOMIC); 423 + static RADIX_TREE(dma_active_cacheline, GFP_ATOMIC | __GFP_NOWARN); 421 424 static DEFINE_SPINLOCK(radix_lock); 422 425 #define ACTIVE_CACHELINE_MAX_OVERLAP ((1 << RADIX_TREE_MAX_TAGS) - 1) 423 426 #define CACHELINE_PER_PAGE_SHIFT (PAGE_SHIFT - L1_CACHE_SHIFT)