On 2022-12-16 12:15, Christoph Hellwig wrote:
On Fri, Dec 16, 2022 at 11:40:57AM +0000, Robin Murphy wrote:
On 2022-12-16 06:46, Christoph Hellwig wrote:
Ok, it seems like the sound noncontig alloc code that I already commented on as potentially bogus GFP_GOMP mapping trips this. I think for now the right thing would be to revert the hunk in dma-iommu.c (see patch below). The other thing to try would be to remove both uses GFP_COMP in sound/core/memalloc.c, which should have the same effect.
Or we explicitly strip the flag in dma_alloc_noncontiguous() (and maybe dma_alloc_pages() as well) for consistency with dma_alloc_attrs(). That seems like it might be the most robust option.
In the long run warning there and returning an error seems like the right thing to do, yes. I'm just a little worried doing this right now after the merge window.
Fair point, I guess nobody else actually implements dma_alloc_noncontiguous(), and dma_alloc_pages() seems a bit of a grey area since it is more of an explicit page allocator. So yeah, just restoring iommu-dma (perhaps with a mild VM_WARN_ON?) seems like a sufficiently safe and sensible fix for the short term. You can have my pre-emptive ack for that.
Cheers, Robin.