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.