linux/drivers/media/i2c
Yang Yingliang 4a15275b6a media: i2c: adv7842: fix possible use-after-free in adv7842_remove()
This driver's remove path calls cancel_delayed_work(). However, that
function does not wait until the work function finishes. This means
that the callback function may still be running after the driver's
remove function has finished, which would result in a use-after-free.

Fix by calling cancel_delayed_work_sync(), which ensures that
the work is properly cancelled, no longer running, and unable
to re-schedule itself.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-04-09 12:54:32 +02:00
..
adv748x media: media/i2c: fix kerneldoc issues for media i2c headers 2021-03-22 10:23:43 +01:00
ccs media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
cx25840 media: rc: harmonize infrared durations to microseconds 2020-09-03 16:18:55 +02:00
et8ek8 media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
m5mols media: media/i2c: fix kerneldoc issues for media i2c headers 2021-03-22 10:23:43 +01:00
s5c73m3 media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
ad5820.c media: i2c: ad5820: simplify getting state container 2020-11-16 10:31:11 +01:00
ad9389b.c media: i2c: ad9389b: convert to i2c_new_dummy_device 2019-08-13 11:45:04 -03:00
adp1653.c media: i2c: adp1653: simplify getting state container 2020-11-16 10:31:11 +01:00
adv7170.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
adv7175.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
adv7180.c media: i2c: adv7180: simplify getting state container 2020-11-16 10:31:11 +01:00
adv7183_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
adv7183.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
adv7343_regs.h
adv7343.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
adv7393_regs.h
adv7393.c media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
adv7511-v4l2.c media: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove() 2021-04-09 12:54:00 +02:00
adv7604.c media: adv7604: fix possible use-after-free in adv76xx_remove() 2021-04-09 12:53:44 +02:00
adv7842.c media: i2c: adv7842: fix possible use-after-free in adv7842_remove() 2021-04-09 12:54:32 +02:00
ak881x.c media updates for v5.3-rc1 2019-07-09 09:47:22 -07:00
ak7375.c media: i2c: ak7375: simplify getting state container 2020-11-16 10:31:11 +01:00
aptina-pll.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
aptina-pll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
bt819.c media: bt819: Reduce amount of F* words in the world 2019-11-05 09:01:17 -03:00
bt856.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
bt866.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
ccs-pll.c Linux 5.11-rc6 2021-02-01 10:03:45 +01:00
ccs-pll.h media: ccs-pll: Switch from standard integer types to kernel ones 2021-01-12 17:55:28 +01:00
cs53l32a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
cs3308.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
cs5345.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
dw9714.c media: ipu3-cio2, dw9714: Remove Jian Xu's e-mail 2019-01-16 13:34:01 -05:00
dw9768.c media: i2c: dw9768: simplify getting state container 2020-11-16 10:31:11 +01:00
dw9807-vcm.c media: i2c: Remove Alan Chiang's e-mail address 2020-09-10 14:20:39 +02:00
hi556.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
imx214.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
imx219.c media: i2c: imx219: Balance runtime PM use-count 2021-04-06 14:38:59 +02:00
imx258.c media: i2c: imx258: add HDR control 2021-04-06 14:39:25 +02:00
imx274.c media: i2c: imx274: fix error return code of imx274_s_frame_interval() 2021-04-06 14:31:59 +02:00
imx290.c media: i2c: imx290: simplify getting state container 2020-11-16 10:31:11 +01:00
imx319.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
imx334.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
imx355.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ir-kbd-i2c.c media: ir-kbd-i2c: convert to i2c_new_dummy_device() 2019-08-14 05:05:10 -03:00
Kconfig media: i2c: Kconfig: Make MAX9271 a module 2021-02-09 15:14:26 +01:00
ks0127.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ks0127.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
lm3560.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
lm3646.c media: lm3646: remove redundant assignment to variable rval 2019-10-24 18:41:31 -03:00
m52790.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
Makefile media: i2c: Kconfig: Make MAX9271 a module 2021-02-09 15:14:26 +01:00
max2175.c media: media/i2c: remove unneeded variable: "ret" 2021-03-11 11:59:43 +01:00
max2175.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
max9271.c media: i2c: max9271: Add MODULE_* macros 2021-02-10 22:26:04 +01:00
max9271.h media: i2c: Add RDACM20 driver 2020-07-19 14:15:42 +02:00
max9286.c media: i2c: max9286: Configure reverse channel amplitude 2021-02-06 09:34:31 +01:00
ml86v7667.c media: i2c: Use the new get_mbus_config pad op 2020-08-18 15:35:54 +02:00
msp3400-driver.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
msp3400-driver.h media: msp3400: declare its own pads 2018-09-17 13:16:19 -04:00
msp3400-kthreads.c media: msp3400: use semicolons rather than commas to separate statements 2020-11-16 10:31:07 +01:00
mt9m001.c media: i2c: Use the new get_mbus_config pad op 2020-08-18 15:35:54 +02:00
mt9m032.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
mt9m111.c media: mt9m111: Use the generic clock framework 2021-02-06 09:38:36 +01:00
mt9p031.c media: i2c: mt9p031: Remove redundant null check before clk_disable_unprepare 2020-11-25 14:41:40 +01:00
mt9t001.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mt9t112.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
mt9v011.c media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
mt9v032.c media: i2c: mt9v032: fix enum mbus codes and frame sizes 2020-01-04 08:09:59 +01:00
mt9v111.c media: mt9v111: Remove unneeded device-managed puts 2021-01-12 17:14:02 +01:00
noon010pc30.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ov02a10.c media: i2c: remove unneeded semicolon 2021-04-06 14:29:24 +02:00
ov772x.c media: i2c: ov772x: Add test pattern control 2020-11-16 10:31:14 +01:00
ov2640.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
ov2659.c media: i2c: ov2659: Switch to SPDX Licensing 2019-10-01 17:39:16 -03:00
ov2680.c media: i2c: ov2680: simplify getting state container 2020-11-16 10:31:11 +01:00
ov2685.c media: i2c: ov2685: simplify getting state container 2020-11-16 10:31:11 +01:00
ov2740.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ov5640.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ov5645.c media: i2c: ov5645: Fix power sequence 2019-08-15 08:08:07 -03:00
ov5647.c media: ov5647: Remove 640x480 SBGGR8 mode 2021-01-12 17:03:34 +01:00
ov5648.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ov5670.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ov5675.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ov5695.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ov6650.c media: ov6650: Use the generic clock framework 2021-02-06 09:39:08 +01:00
ov7251.c media: v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY 2018-10-04 16:06:15 -04:00
ov7640.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
ov7670.c media: ov7670: do not aggregate returns 2020-11-16 10:31:15 +01:00
ov7740.c media: i2c: ov7740: simplify getting state container 2020-11-16 10:31:12 +01:00
ov8856.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ov8865.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ov9640.c media: ov9640: Use the generic clock framework 2021-02-06 09:38:05 +01:00
ov9640.h media: ov9640: Use the generic clock framework 2021-02-06 09:38:05 +01:00
ov9650.c media: ov9650: add a sanity check 2019-08-26 14:05:09 -03:00
ov9734.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
ov13858.c media: v4l: fwnode: Rename v4l2_async_register_subdev_sensor_common 2021-04-06 14:36:54 +02:00
rdacm20.c media: i2c: rdacm20: Constify static structs 2021-02-06 09:35:03 +01:00
rdacm21.c media: i2c: Add driver for RDACM21 camera module 2021-02-06 09:32:27 +01:00
rj54n1cb0c.c media: v4l: Remove support for crop default target in subdev drivers 2018-10-03 11:58:24 -04:00
s5k4ecgx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
s5k5baf.c media: s5k5baf: remove trailing semicolon in macro definition 2021-04-06 14:30:15 +02:00
s5k6a3.c media: s5k6a3: Fix runtime PM imbalance on error 2020-06-23 13:18:25 +02:00
s5k6aa.c media: fix incorrect kernel doc usages 2021-03-11 11:59:44 +01:00
saa711x_regs.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
saa717x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
saa6588.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
saa6752hs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 68 2019-05-24 17:36:46 +02:00
saa7110.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
saa7115.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
saa7127.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
saa7185.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
sony-btf-mpx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
sr030pc30.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
st-mipid02.c media: v4l2-async: Improve v4l2_async_notifier_add_*_subdev() API 2021-02-06 09:18:53 +01:00
tc358743_regs.h media: i2c: add SPDX license info 2018-02-14 13:16:31 -05:00
tc358743.c media: tc358743: fix possible use-after-free in tc358743_remove() 2021-04-09 12:53:26 +02:00
tda1997x_regs.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
tda1997x.c media: i2c: tda1997: Fix possible use-after-free in tda1997x_remove() 2021-04-09 12:54:17 +02:00
tda7432.c media: add SPDX headers to some files 2019-06-12 11:42:27 -04:00
tda9840.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
tea6415c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 68 2019-05-24 17:36:46 +02:00
tea6415c.h
tea6420.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
tea6420.h
ths7303.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
ths8200_regs.h
ths8200.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
tlv320aic23b.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tvaudio.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
tvp514x_regs.h media: media/i2c: fix kerneldoc issues for media i2c headers 2021-03-22 10:23:43 +01:00
tvp514x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 486 2019-06-19 17:09:52 +02:00
tvp5150_reg.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
tvp5150.c media: tvp5150: Fix wrong return value of tvp5150_parse_dt() 2020-12-03 07:37:33 +01:00
tvp7002_reg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tvp7002.c media: tvp7002: fix uninitialized variable warning 2020-10-08 14:13:59 +02:00
tw2804.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tw9903.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tw9906.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tw9910.c media: i2c: tw9910: simplify getting the adapter of a client 2019-06-24 11:17:03 -04:00
uda1342.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
upd64031a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
upd64083.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
video-i2c.c media: i2c: video-i2c: fix build errors due to 'imply hwmon' 2020-03-24 17:11:27 +01:00
vp27smpx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
vpx3220.c media: vpx3220: make array input_vals static, makes object smaller 2019-11-05 08:48:55 -03:00
vs6624_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
vs6624.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
wm8739.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
wm8775.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00