2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-15 17:14:00 +08:00
linux-next/drivers/media
Mansur Alisha Shaik 9696960f13 media: venus: core: handle race condititon for core ops
For core ops we are having only write protect but there
is no read protect, because of this in multithreading
and concurrency, one CPU core is reading without wait
which is causing the NULL pointer dereferece crash.

one such scenario is as show below, where in one CPU
core, core->ops becoming NULL and in another CPU core
calling core->ops->session_init().

CPU: core-7:
Call trace:
 hfi_session_init+0x180/0x1dc [venus_core]
 vdec_queue_setup+0x9c/0x364 [venus_dec]
 vb2_core_reqbufs+0x1e4/0x368 [videobuf2_common]
 vb2_reqbufs+0x4c/0x64 [videobuf2_v4l2]
 v4l2_m2m_reqbufs+0x50/0x84 [v4l2_mem2mem]
 v4l2_m2m_ioctl_reqbufs+0x2c/0x38 [v4l2_mem2mem]
 v4l_reqbufs+0x4c/0x5c
__video_do_ioctl+0x2b0/0x39c

CPU: core-0:
Call trace:
 venus_shutdown+0x98/0xfc [venus_core]
 venus_sys_error_handler+0x64/0x148 [venus_core]
 process_one_work+0x210/0x3d0
 worker_thread+0x248/0x3f4
 kthread+0x11c/0x12c

Signed-off-by: Mansur Alisha Shaik <mansur@codeaurora.org>
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-11-17 06:54:36 +01:00
..
cec media: cec-core: first mark device unregistered, then wake up fhs 2020-11-16 10:31:09 +01:00
common media: Bulk remove BUG_ON(in_interrupt()) 2020-11-16 10:31:10 +01:00
dvb-core media fixes for v5.9-rc7 2020-09-24 09:05:04 -07:00
dvb-frontends media: fix kernel-doc markups 2020-11-16 10:31:16 +01:00
firewire media: firewire: fix memory leak 2020-09-27 11:29:45 +02:00
i2c media: imx258: Remove Jason Chen's e-mail 2020-11-16 10:31:15 +01:00
mc media: mc-device.c: change media_device_request_alloc to match media_ioctl_info 2020-08-29 08:15:23 +02:00
mmc media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
pci media: media/pci: simplify the return expression of verify_window_lock 2020-11-16 10:31:15 +01:00
platform media: venus: core: handle race condititon for core ops 2020-11-17 06:54:36 +01:00
radio media: radio-sf16fmr2: use semicolons rather than commas to separate statements 2020-11-16 10:31:07 +01:00
rc media: rc: gpio-ir-recv: add QoS support for cpuidle system 2020-09-27 11:27:23 +02:00
spi media: i2c/Kconfig: use sub-menus for I2C support 2020-04-16 10:34:40 +02:00
test-drivers media: vivid: fix (partially) timing issues 2020-11-16 10:31:08 +01:00
tuners media: remove unneeded break 2020-11-16 10:31:10 +01:00
usb media: cx231xx: Consolidate dmesg output 2020-11-16 10:31:10 +01:00
v4l2-core media: v4l: Add a helper for obtaining the link frequency 2020-11-16 10:31:15 +01:00
Kconfig media: media/test_drivers: rename to test-drivers 2020-04-16 10:38:31 +02:00
Makefile media: media/test_drivers: rename to test-drivers 2020-04-16 10:38:31 +02:00