> 3) Drop support for allocating DMA memory from slab allocator > (as Christoph Hellwig said) and convert them to use DMA32 > and see what happens Can you please clarify what "convert to DMA32" means? I would assume this does _not_ mean that passing GFP_DMA32 to slab allocator would work then? btw. there are actually two kmalloc allocations which pass GFP_DMA32; I guess this is broken(?): drivers/hid/intel-ish-hid/ishtp-fw-loader.c: dma_buf = kmalloc(payload_max_size, GFP_KERNEL | GFP_DMA32); drivers/media/test-drivers/vivid/vivid-osd.c: dev->video_vbase = kzalloc(dev->video_buffer_size, GFP_KERNEL | GFP_DMA32);