[Linaro-mm-sig] [PATCH v3 2/3] udmabuf: use sgtable-based scatterlist wrappers

Christian König christian.koenig at amd.com
Thu May 8 09:57:48 UTC 2025


On 5/7/25 18:09, Marek Szyprowski wrote:
> Use common wrappers operating directly on the struct sg_table objects to
> fix incorrect use of scatterlists sync calls. dma_sync_sg_for_*()
> functions have to be called with the number of elements originally passed
> to dma_map_sg_*() function, not the one returned in sgtable's nents.
> 
> Fixes: 1ffe09590121 ("udmabuf: fix dma-buf cpu access")
> CC: stable at vger.kernel.org
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
> Acked-by: Vivek Kasireddy <vivek.kasireddy at intel.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

Should I push this one to drm-misc-fixes for upstreaming?

Regards,
Christian.

> ---
>  drivers/dma-buf/udmabuf.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/dma-buf/udmabuf.c b/drivers/dma-buf/udmabuf.c
> index 7eee3eb47a8e..c9d0c68d2fcb 100644
> --- a/drivers/dma-buf/udmabuf.c
> +++ b/drivers/dma-buf/udmabuf.c
> @@ -264,8 +264,7 @@ static int begin_cpu_udmabuf(struct dma_buf *buf,
>  			ubuf->sg = NULL;
>  		}
>  	} else {
> -		dma_sync_sg_for_cpu(dev, ubuf->sg->sgl, ubuf->sg->nents,
> -				    direction);
> +		dma_sync_sgtable_for_cpu(dev, ubuf->sg, direction);
>  	}
>  
>  	return ret;
> @@ -280,7 +279,7 @@ static int end_cpu_udmabuf(struct dma_buf *buf,
>  	if (!ubuf->sg)
>  		return -EINVAL;
>  
> -	dma_sync_sg_for_device(dev, ubuf->sg->sgl, ubuf->sg->nents, direction);
> +	dma_sync_sgtable_for_device(dev, ubuf->sg, direction);
>  	return 0;
>  }
>  



More information about the dri-devel mailing list