Re: [PATCH v3] dma-buf: cma_heap: Check for device max segment size when attaching

From: John Stultz
Date: Mon Mar 06 2023 - 21:48:56 EST


On Mon, Mar 6, 2023 at 8:52 AM Andrew Davis <afd@xxxxxx> wrote:
>
> Although there is usually not such a limitation (and when there is it is
> often only because the driver forgot to change the super small default),
> it is still correct here to break scatterlist element into chunks of
> dma_max_mapping_size().

Hey Andrew!
Thanks for sending this out!

So *why* is it "correct here to break scatterlist element into chunks
of dma_max_mapping_size()." ?

> This might cause some issues for users with misbehaving drivers. If
> bisecting has landed you on this commit, make sure your drivers both set
> dma_set_max_seg_size() and are checking for contiguousness correctly.

Why is this change worth the risk? (If this is really likely to break
folks, should we maybe provide warnings initially instead? Maybe
falling back to the old code if we can catch the failure?)

I don't really object to the change, just want to make sure the commit
message is more clear on why we should make this change, what the
benefit will be along with the potential downsides.

thanks
-john