kernel_samsung_a53x/drivers/media/platform
Zheng Wang f56156a55e media: venus: fix use after free bug in venus_remove due to race condition
commit c5a85ed88e043474161bbfe54002c89c1cb50ee2 upstream.

in venus_probe, core->work is bound with venus_sys_error_handler, which is
used to handle error. The code use core->sys_err_done to make sync work.
The core->work is started in venus_event_notify.

If we call venus_remove, there might be an unfished work. The possible
sequence is as follows:

CPU0                  CPU1

                     |venus_sys_error_handler
venus_remove         |
hfi_destroy	 		 |
venus_hfi_destroy	 |
kfree(hdev);	     |
                     |hfi_reinit
					 |venus_hfi_queues_reinit
                     |//use hdev

Fix it by canceling the work in venus_remove.

Cc: stable@vger.kernel.org
Fixes: af2c3834c8ca ("[media] media: venus: adding core part and helper functions")
Signed-off-by: Zheng Wang <zyytlz.wz@163.com>
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:21:45 +01:00
..
am437x
atmel
cadence
coda
davinci
exynos
exynos-gsc
exynos4-is
marvell-ccic
mtk-jpeg
mtk-mdp media: mediatek: vcodec: avoid -Wcast-function-type-strict warning 2024-11-19 08:44:55 +01:00
mtk-vcodec media: mediatek: vcodec: avoid -Wcast-function-type-strict warning 2024-11-19 08:44:55 +01:00
mtk-vpu media: mediatek: vcodec: avoid -Wcast-function-type-strict warning 2024-11-19 08:44:55 +01:00
omap
omap3isp
qcom media: venus: fix use after free bug in venus_remove due to race condition 2024-11-23 23:21:45 +01:00
rcar-vin
rockchip/rga
s3c-camif
s5p-g2d
s5p-jpeg
s5p-mfc
sti
stm32
sunxi media: sun4i_csi: Implement link validate for sun4i_csi subdev 2024-11-23 23:21:45 +01:00
ti-vpe
vsp1 media: renesas: vsp1: Store RPF partition configuration per RPF instance 2024-11-23 23:20:09 +01:00
xilinx
aspeed-video.c
fsl-viu.c
imx-pxp.c
imx-pxp.h
Kconfig
m2m-deinterlace.c
Makefile
mx2_emmaprp.c
pxa_camera.c
rcar-fcp.c
rcar_drif.c
rcar_fdp1.c
rcar_jpu.c
renesas-ceu.c
sh_vou.c
via-camera.c
via-camera.h
video-mux.c