TencentOS-kernel/drivers/staging
Ezequiel Garcia ee13fa3d19 media: imx: Fix csc/scaler unregister
[ Upstream commit 89b14485caa4b7b2eaf70be0064f0978e68ebeee ]

The csc/scaler device private struct is released by
ipu_csc_scaler_video_device_release(), which can be called
by video_unregister_device() if there are no users
of the underlying struct video device.

Therefore, the mutex can't be held when calling
video_unregister_device() as its memory may be freed
by it, leading to a kernel oops.

Fortunately, the fix is quite simple as no locking
is needed when calling video_unregister_device(): v4l2-core
already has its own internal locking, and the structures
are also properly refcounted.

Fixes: a8ef0488cc59 ("media: imx: add csc/scaler mem2mem device")
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-04-12 12:52:18 +08:00
..
android staging: android: ashmem: Fix lockdep warning for write operation 2021-03-16 16:33:02 +08:00
axis-fifo Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
board Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
clocking-wizard Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
comedi staging: comedi: mf6x4: Fix AI end-of-conversion detection 2021-03-16 16:43:28 +08:00
emxx_udc staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent() 2021-03-16 16:38:34 +08:00
exfat exfat: Month timestamp metadata accidentally incremented 2021-04-12 12:51:17 +08:00
fbtft Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
fieldbus staging: fieldbus: anybuss: jump to correct label in an error path 2021-03-16 16:40:15 +08:00
fsl-dpaa2 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
fwserial Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
gasket staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c 2021-03-16 16:42:45 +08:00
gdm724x Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
goldfish Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
greybus staging: greybus: codecs: Fix reference counter leak in error handling 2021-03-16 16:42:45 +08:00
gs_fpgaboot Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
iio staging: iio: ad2s1210: Fix SPI reading 2021-03-16 16:28:18 +08:00
isdn Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
kpc2000 staging: kpc2000: fix error return code in kp2000_pcie_probe() 2021-03-16 16:28:18 +08:00
ks7010 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
media media: imx: Fix csc/scaler unregister 2021-04-12 12:52:18 +08:00
most Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mt7621-dma staging: mt7621-dma: Fix a resource leak in an error handling path 2021-04-12 12:51:10 +08:00
mt7621-dts Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mt7621-pci Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mt7621-pci-phy Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mt7621-pinctrl Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
netlogic Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
nvec Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
octeon staging/octeon: fix up merge error 2021-03-16 16:41:53 +08:00
octeon-usb Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
olpc_dcon Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
pi433 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
qlge Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
ralink-gdma staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK 2021-03-16 16:41:38 +08:00
rtl8188eu staging:r8188eu: avoid skb_clone for amsdu to msdu conversion 2021-03-16 16:37:14 +08:00
rtl8192e Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
rtl8192u staging: rtl8192u: Do not use GFP_KERNEL in atomic context 2021-03-16 16:38:33 +08:00
rtl8712 staging: rtl8712: handle firmware load failure 2021-03-16 16:33:02 +08:00
rtl8723bs staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules 2021-04-12 12:52:14 +08:00
rts5208 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
sm750fb staging: sm750fb: add missing case while setting FB_VISUAL 2021-03-16 16:30:13 +08:00
speakup speakup: fix uninitialized flush_lock 2021-03-16 16:43:08 +08:00
unisys Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
uwb Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
vc04_services staging: vchiq_arm: Add a matching unregister call 2021-03-16 16:33:31 +08:00
vme Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
vt6655 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
vt6656 staging: vt6656: Power save stop wake_up_count wrap around. 2021-03-16 16:27:02 +08:00
wilc1000 net: wilc1000: clean up resource in error path of init mon interface 2021-03-16 16:38:40 +08:00
wlan-ng staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb() 2021-03-16 16:36:03 +08:00
wusbcore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Makefile Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00