drm/rockchip: check yuv2yuv existence before assigning window data
Subsystems (4)
Heiko Stuebner
maintainerPATCH 1/1 drm/rockchip: check yuv2yuv existence before assigning window data
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.
--- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/gpu/drm/rockchip/rockchip_drm_vop.c +3 -1
@@ -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]; } }
Signature · 9 lines
2.19.2 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 16 lines · Heiko Stuebner
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_updatewhen accessing the yuv2yuv data.Fixes 1c21aa8f2b68 ("drm/rockchip: Fix YUV buffers color rendering")Signed-off-by Heiko Stuebner <[email protected]>--- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)drivers/gpu/drm/rockchip/rockchip_drm_vop.c +0
-0
drivers/gpu/drm/rockchip/rockchip_drm_vop.c static void vop_win_init(struct vop *vop) · line 1683
Quoted 10 lines
drivers/gpu/drm/rockchip/rockchip_drm_vop.c +3
-1@@ -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.
Thanks,
Eze
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Am Samstag, 26. Januar 2019, 01:24:37 CET schrieb Heiko Stuebner:
Quoted 7 lines
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_updatewhen accessing the yuv2yuv data.Fixes 1c21aa8f2b68 ("drm/rockchip: Fix YUV buffers color rendering")Signed-off-by Heiko Stuebner <[email protected]>
applied to drm-misc-next where the fixed commit also waits for the next merge-window.
Heiko
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel