[PATCH] drm/rockchip: check yuv2yuv existence before assigning window data
Ezequiel Garcia
ezequiel at collabora.com
Sat Jan 26 14:52:59 UTC 2019
On Sat, 2019-01-26 at 01:24 +0100, Heiko Stuebner wrote:
> Before assigning window data, we should check if the yuv2yuv vop-data
> is set at all, because it looks like it can otherwise reference something
> wrong, as I saw on my rk3188 today which ended up in a null pointer
> dereference in vop_plane_atomic_update when accessing the yuv2yuv data.
>
> Fixes: 1c21aa8f2b68 ("drm/rockchip: Fix YUV buffers color rendering")
> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
> ---
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> index 619b6db05d58..1dc9fd1ffbe3 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> @@ -1675,7 +1675,9 @@ static void vop_win_init(struct vop *vop)
>
> vop_win->data = win_data;
> vop_win->vop = vop;
> - vop_win->yuv2yuv_data = &vop_data->win_yuv2yuv[i];
> +
> + if (vop_data->win_yuv2yuv)
> + vop_win->yuv2yuv_data = &vop_data->win_yuv2yuv[i];
> }
> }
>
Ugh, another one of these.
Reviewed-by: Ezequiel Garcia <ezequiel at collabora.com>
Thanks,
Eze
More information about the dri-devel
mailing list