linux_dsm_epyc7002/drivers/media/platform
Vikash Garodia e1c69c4eef media: venus: fixes for list corruption
There are few list handling issues while adding and deleting
node in the registered buf list in the driver.
1. list addition - buffer added into the list during buf_init
while not deleted during cleanup.
2. list deletion - In capture streamoff, the list was reinitialized.
As a result, if any node was present in the list, it would
lead to issue while cleaning up that node during buf_cleanup.

Corresponding call traces below:
[  165.751014] Call trace:
[  165.753541]  __list_add_valid+0x58/0x88
[  165.757532]  venus_helper_vb2_buf_init+0x74/0xa8 [venus_core]
[  165.763450]  vdec_buf_init+0x34/0xb4 [venus_dec]
[  165.768271]  __buf_prepare+0x598/0x8a0 [videobuf2_common]
[  165.773820]  vb2_core_qbuf+0xb4/0x334 [videobuf2_common]
[  165.779298]  vb2_qbuf+0x78/0xb8 [videobuf2_v4l2]
[  165.784053]  v4l2_m2m_qbuf+0x80/0xf8 [v4l2_mem2mem]
[  165.789067]  v4l2_m2m_ioctl_qbuf+0x2c/0x38 [v4l2_mem2mem]
[  165.794624]  v4l_qbuf+0x48/0x58

[ 1797.556001] Call trace:
[ 1797.558516]  __list_del_entry_valid+0x88/0x9c
[ 1797.562989]  vdec_buf_cleanup+0x54/0x228 [venus_dec]
[ 1797.568088]  __buf_prepare+0x270/0x8a0 [videobuf2_common]
[ 1797.573625]  vb2_core_qbuf+0xb4/0x338 [videobuf2_common]
[ 1797.579082]  vb2_qbuf+0x78/0xb8 [videobuf2_v4l2]
[ 1797.583830]  v4l2_m2m_qbuf+0x80/0xf8 [v4l2_mem2mem]
[ 1797.588843]  v4l2_m2m_ioctl_qbuf+0x2c/0x38 [v4l2_mem2mem]
[ 1797.594389]  v4l_qbuf+0x48/0x58

Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
Reviewed-by: Fritz Koenig <frkoenig@chromium.org>
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-09-01 14:13:29 +02:00
..
am437x media: use v4l2_rect_enclosed helper 2020-07-04 12:30:13 +02:00
atmel media: atmel: atmel-isc: rework component offsets 2020-07-19 07:55:39 +02:00
cadence media: Kconfig files: use select for V4L2 subdevs and MC 2020-04-14 10:29:05 +02:00
coda media: coda: no need to check return value of debugfs_create functions 2020-09-01 14:13:26 +02:00
davinci media: davinci: vpif_capture: fix potential double free 2020-08-06 11:32:02 +02:00
exynos4-is media: exynos4-is: no need to check return value of debugfs_create functions 2020-09-01 14:13:26 +02:00
exynos-gsc media: Add V4L2_TYPE_IS_CAPTURE helper 2020-07-19 08:13:24 +02:00
marvell-ccic media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
mtk-jpeg media: platform: Add jpeg enc feature 2020-08-28 15:38:39 +02:00
mtk-mdp media: mtk-mdp: Fix a refcounting bug on error in init 2020-08-06 11:27:45 +02:00
mtk-vcodec media: mtk-vcodec: vdec_vp9_if.c: fix comparison to bool 2020-08-29 08:06:14 +02:00
mtk-vpu media: mtk-vpu: no need to check return value of debugfs_create functions 2020-09-01 14:13:26 +02:00
omap media: media/platform: rename VFL_TYPE_GRABBER to _VIDEO 2020-02-24 16:54:14 +01:00
omap3isp media: omap: Replace HTTP links with HTTPS ones 2020-09-01 14:13:27 +02:00
qcom media: venus: fixes for list corruption 2020-09-01 14:13:29 +02:00
rcar-vin media: rcar-vin: Register media device when all sub-devices bound 2020-08-29 08:16:58 +02:00
rockchip/rga media: rockchip: rga: Only set output CSC mode for RGB input 2020-07-04 12:44:59 +02:00
s3c-camif media: samsung: Rename Samsung and Exynos to lowercase 2020-07-04 12:41:12 +02:00
s5p-g2d media: s5p-g2d: Fix a memory leak in an error handling path in 'g2d_probe()' 2020-07-19 08:14:00 +02:00
s5p-jpeg media: use v4l2_rect_enclosed helper 2020-07-04 12:30:13 +02:00
s5p-mfc iommu/exynos: Use dev_iommu_priv_get/set() 2020-06-30 11:59:48 +02:00
sti media: sti: no need to check return value of debugfs_create functions 2020-09-01 14:13:26 +02:00
stm32 media: move CEC platform drivers to a separate directory 2020-04-15 12:06:40 +02:00
sunxi media: sunxi: sun8i-rotate.c: remove useless error message 2020-08-29 07:47:04 +02:00
ti-vpe media: ti-vpe: cal: Split CAMERARX handling to cal-camerarx.c 2020-07-19 10:40:43 +02:00
vsp1 media: vsp1: dl: Fix NULL pointer dereference on unbind 2020-07-04 12:02:02 +02:00
xilinx media: v4l: xilinx: Add Xilinx MIPI CSI-2 Rx Subsystem driver 2020-06-23 13:11:46 +02:00
aspeed-video.c media: media/platform: drop vb2_queue_release() 2020-08-28 15:02:26 +02:00
fsl-viu.c media: fsl-viu: Do not redefine out_be32()/in_be32() for CONFIG_M68K 2020-08-29 08:07:48 +02:00
imx-pxp.c media: media/platform: rename VFL_TYPE_GRABBER to _VIDEO 2020-02-24 16:54:14 +01:00
imx-pxp.h media: imx-pxp: add i.MX Pixel Pipeline driver 2018-09-11 13:32:17 -04:00
Kconfig media: mtk-vcodec: fix Kconfig help text 2020-08-26 18:51:00 +02:00
m2m-deinterlace.c media: media/platform: rename VFL_TYPE_GRABBER to _VIDEO 2020-02-24 16:54:14 +01:00
Makefile media: media: sh_veu: Remove driver 2020-05-14 14:34:38 +02:00
mx2_emmaprp.c media: media/platform: rename VFL_TYPE_GRABBER to _VIDEO 2020-02-24 16:54:14 +01:00
pxa_camera.c media: pxa_camera: convert tasklets to use new tasklet_setup() API 2020-08-29 08:13:36 +02:00
rcar_drif.c media: rcar_drif: Do not print error in case of EPROBE_DEFER for dma channel 2020-03-02 16:09:04 +01:00
rcar_fdp1.c media: media/platform: rename VFL_TYPE_GRABBER to _VIDEO 2020-02-24 16:54:14 +01:00
rcar_jpu.c media: Add V4L2_TYPE_IS_CAPTURE helper 2020-07-19 08:13:24 +02:00
rcar-fcp.c media: platform: fcp: Set appropriate DMA parameters 2020-04-21 13:33:50 +02:00
renesas-ceu.c media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
sh_vou.c media: media/platform: rename VFL_TYPE_GRABBER to _VIDEO 2020-02-24 16:54:14 +01:00
via-camera.c Power management updates for 5.7-rc1 2020-03-30 15:05:01 -07:00
via-camera.h media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
video-mux.c media: video-mux: Create media links in bound notifier 2020-05-18 14:20:56 +02:00