linux/drivers/media
Niklas Söderlund 1453ad81a2 media: v4l: async: fix unregister for implicitly registered sub-device notifiers
The commit aef69d5475 ("media: v4l: fwnode: Add a convenience
function for registering sensors") adds the function
v4l2_async_notifier_parse_fwnode_sensor_common() to parse and register a
subdevice and a subdev-notifier by parsing firmware information. This
new subdev-notifier is stored in the new field 'subdev_notifier' in
struct v4l2_subdev.

In v4l2_async_unregister_subdev() this field is used to unregister and
cleanup the subdev-notifier. A check for if the subdev-notifier is
initialized or not was forgotten leading to a NULL pointer dereference
in v4l2_async_notifier_cleanup() if a subdevice do not use the optional
convince function to initialize the field.

Fix this by checking in v4l2_async_notifier_cleanup() that it is
provided whit a notifier making it safe to call with a NULL parameter.

Fixes: aef69d5475 ("media: v4l: fwnode: Add a convenience function for registering sensors")

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-11-07 03:07:20 -05:00
..
cec media: cec-pin: use IS_ERR instead of PTR_ERR_OR_ZERO 2017-10-31 07:21:23 -04:00
common media: saa7146: Convert timers to use timer_setup() 2017-10-31 06:40:08 -04:00
dvb-core media: dvb-core: Convert timers to use timer_setup() 2017-10-31 06:40:30 -04:00
dvb-frontends media: dvb_frontend: get rid of get_property() callback 2017-10-11 12:51:36 -04:00
firewire
i2c media: imx274: fix missing return assignment from call to imx274_mode_regs 2017-11-07 03:05:40 -05:00
mmc
pci media: pci: Convert timers to use timer_setup() 2017-10-31 07:24:43 -04:00
platform media: camss-vfe: always initialize reg at vfe_set_xbar_cfg() 2017-11-01 12:25:59 -04:00
radio media: radio-raremono: remove redundant initialization of freq 2017-10-31 07:26:39 -04:00
rc media: rc: mceusb: add support for 15f4:0135 2017-10-31 06:35:32 -04:00
spi [media] gs1662: drop kfree for memory allocated with devm_kzalloc 2016-10-24 17:59:08 -02:00
tuners media: dvb: i2c transfers over usb cannot be done from stack 2017-09-23 07:21:33 -04:00
usb media: gspca: remove redundant assignment to variable j 2017-10-31 07:27:37 -04:00
v4l2-core media: v4l: async: fix unregister for implicitly registered sub-device notifiers 2017-11-07 03:07:20 -05:00
Kconfig media: rc-core: do not depend on MEDIA_SUPPORT 2017-08-20 09:39:36 -04:00
Makefile [media] cec: select CEC_CORE instead of depend on it 2017-06-04 15:23:33 -03:00
media-device.c media: drop use of MEDIA_API_VERSION 2017-08-08 06:03:15 -04:00
media-devnode.c media: utilize new cdev_device_add helper function 2017-03-21 06:44:33 +01:00
media-entity.c [media] media: Check for active and has_no_links overrun 2017-10-04 17:16:14 -03:00