Re: [PATCH 5.15 228/917] media: videobuf2: rework vb2_mem_ops API

Sergey Senozhatsky
2021-11-16T04:25:04Z

On (21/11/15 17:55), Greg Kroah-Hartman wrote:
> From: Sergey Senozhatsky <senozhatsky@chromium.org>
>
> [ Upstream commit a4b83deb3e76fb9385ca58e2c072a145b3a320d6 ]
>
> With the new DMA API we need an extension of the videobuf2 API.
> Previously, videobuf2 core would set the non-coherent DMA bit
> in the vb2_queue dma_attr field (if user-space would pass a
> corresponding memory hint); the vb2 core then would pass the
> vb2_queue dma_attrs to the vb2 allocators. The vb2 allocator
> would use the queue's dma_attr and the DMA API would allocate
> either coherent or non-coherent memory.
>
> But we cannot do this anymore, since there is no corresponding DMA
> attr flag and, hence, there is no way for the allocator to become
> aware of what type of allocation user-space has requested. So we
> need to pass more context from videobuf2 core to the allocators.
>
> Fix this by changing the call_ptr_memop() macro to pass the
> vb2 pointer to the corresponding op callbacks.
>
> Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> Signed-off-by: Sasha Levin <sashal@kernel.org>

Hello Greg, Sasha,

This patch needs two fix up patches to be applied.

The first one is in Linus's tree (media: videobuf2: always set buffer vb2 pointer)
67f85135c57c8ea20b5417b28ae65e53dc2ec2c3

The second one isn't yet (media: videobuf2-dma-sg: Fix buf->vb NULL pointer dereference)