linux-uconsole/drivers/staging
Dan Carpenter 8e456b4b1a staging: greybus: light: fix a couple double frees
[ Upstream commit 329101244f ]

The problem is in gb_lights_request_handler().  If we get a request to
change the config then we release the light with gb_lights_light_release()
and re-allocated it.  However, if the allocation fails part way through
then we call gb_lights_light_release() again.  This can lead to a couple
different double frees where we haven't cleared out the original values:

	gb_lights_light_v4l2_unregister(light);
	...
	kfree(light->channels);
	kfree(light->name);

I also made a small change to how we set "light->channels_count = 0;".
The original code handled this part fine and did not cause a use after
free but it was sort of complicated to read.

Fixes: 2870b52bae ("greybus: lights: add lights implementation")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Rui Miguel Silva <rmfrfs@gmail.com>
Link: https://lore.kernel.org/r/20190829122839.GA20116@mwanda
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-27 14:51:08 +01:00
..
android staging: android: vsoc: fix copy_from_user overrun 2020-01-27 14:50:39 +01:00
axis-fifo
board
clocking-wizard
comedi staging: comedi: ni_mio_common: protect register write overflow 2020-01-27 14:49:58 +01:00
dgnc
emxx_udc
erofs erofs: zero out when listxattr is called with no xattr 2019-12-17 20:35:00 +01:00
fbtft fbtft: Make sure string is NULL terminated 2019-12-31 16:36:10 +01:00
fsl-dpaa2 staging: fsl-dpaa2/ethsw: fix memory leak of switchdev_work 2019-07-14 08:11:22 +02:00
fwserial
gasket staging: gasket: apex: fix copy-paste typo 2019-08-16 10:12:37 +02:00
gdm724x
goldfish
greybus staging: greybus: light: fix a couple double frees 2020-01-27 14:51:08 +01:00
gs_fpgaboot
iio Staging: iio: adt7316: Fix i2c data reading, set the data field 2019-12-13 08:51:26 +01:00
ks7010
media media: imx: work around false-positive warning, again 2019-11-20 18:47:16 +01:00
most staging: most: cdev: add missing check for cdev_add failure 2020-01-27 14:50:19 +01:00
mt29f_spinand
mt7621-dma
mt7621-dts
mt7621-eth
mt7621-mmc
mt7621-pci
mt7621-pinctrl staging: mt7621-pinctrl: use pinconf-generic for 'dt_node_to_map' and 'dt_free_map' 2019-11-06 13:05:27 +01:00
mt7621-spi
netlogic
nvec
octeon
octeon-usb
olpc_dcon
pi433
rtl8188eu staging: rtl8188eu: Add device code for TP-Link TL-WN727N v5.21 2020-01-14 20:07:05 +01:00
rtl8192e staging: rtl8192e: fix potential use after free 2019-12-05 09:21:26 +01:00
rtl8192u staging: rtl8192u: fix multiple memory leaks on error path 2019-12-31 16:34:48 +01:00
rtl8712 staging: rtl8712: fix interface sanity check 2019-12-17 20:34:31 +01:00
rtl8723bs staging: rtl8723bs: Add 024c:0525 to the list of SDIO device-ids 2019-12-05 09:21:26 +01:00
rtlwifi staging: rtlwifi: Use proper enum for return in halmac_parse_psd_data_88xx 2020-01-27 14:50:26 +01:00
rts5208
sm750fb
speakup
unisys
vboxvideo
vc04_services staging: bcm2835-camera: fix module autoloading 2020-01-27 14:50:05 +01:00
vme
vt6655 staging: vt6655: Fix memory leak in vt6655_probe 2019-10-17 13:45:11 -07:00
vt6656 staging: vt6656: set usb_set_intfdata on driver fail. 2020-01-14 20:07:03 +01:00
wilc1000 staging: wilc1000: fix error path cleanup in wilc_wlan_initialize() 2019-09-16 08:22:17 +02:00
wlan-ng staging: wlan-ng: fix exit return when sme->key_idx >= NUM_WEPKEYS 2019-10-29 09:19:48 +01:00
xgifb
Kconfig
Makefile