linux-thead/drivers/staging/greybus
Wang Hai f636755d7f staging: greybus: audio: Fix possible leak free widgets in gbaudio_dapm_free_controls
[ Upstream commit e77b259f67 ]

In gbaudio_dapm_free_controls(), if one of the widgets is not found, an error
will be returned directly, which will cause the rest to be unable to be freed,
resulting in leak.

This patch fixes the bug. If if one of them is not found, just skip and free the others.

Fixes: 510e340efe ("staging: greybus: audio: Add helper APIs for dynamic audio module")
Reported-by: Hulk Robot <hulkci@huawei.com>
Reviewed-by: Vaibhav Agarwal <vaibhav.sr@gmail.com>
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Link: https://lore.kernel.org/r/20201205103827.31244-1-wanghai38@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-12-30 11:53:39 +01:00
..
Documentation staging: greybus: remove license "boilerplate" 2019-08-27 19:02:26 +02:00
tools SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
Kconfig staging: greybus: audio: Enable GB codec, audio module compilation. 2020-07-29 16:40:26 +02:00
Makefile staging: greybus: audio: Enable GB codec, audio module compilation. 2020-07-29 16:40:26 +02:00
TODO staging: greybus: gpio: switch GPIO portions to use GPIOLIB_IRQCHIP 2019-01-15 16:18:14 +01:00
arche-apb-ctrl.c staging: greybus: arche-apb-ctrl.c: Switch to the gpio descriptor interface 2019-01-15 16:18:14 +01:00
arche-platform.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
arche_platform.h staging: greybus: correct SPDX License Identifier 2018-11-09 09:49:02 -08:00
audio_apbridgea.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
audio_apbridgea.h staging: Replace zero-length array with flexible-array member 2020-02-23 19:18:54 +01:00
audio_codec.c staging: greybus: codecs: Fix reference counter leak in error handling 2020-12-30 11:53:09 +01:00
audio_codec.h staging: greybus: audio: Resolve compilation errors for GB codec module 2020-07-29 16:40:09 +02:00
audio_gb.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
audio_helper.c staging: greybus: audio: Fix possible leak free widgets in gbaudio_dapm_free_controls 2020-12-30 11:53:39 +01:00
audio_helper.h staging: greybus: audio: Add helper APIs for dynamic audio modules 2020-07-29 16:40:09 +02:00
audio_manager.c staging: greybus: use after free in gb_audio_manager_remove_all() 2020-02-10 08:52:33 -08:00
audio_manager.h staging: greybus: correct SPDX License Identifier 2018-11-09 09:49:02 -08:00
audio_manager_module.c staging: greybus: Parenthesis alignment 2018-11-26 20:59:05 +01:00
audio_manager_private.h staging: greybus: correct SPDX License Identifier 2018-11-09 09:49:02 -08:00
audio_manager_sysfs.c staging: greybus: Parenthesis alignment 2018-11-26 20:59:05 +01:00
audio_module.c staging: greybus: fix warnings about endianness detected by sparse 2020-10-05 14:23:55 +02:00
audio_topology.c staging: greybus: use __force when assigning __u8 value to snd_ctl_elem_type_t 2020-10-05 14:23:55 +02:00
authentication.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
bootrom.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
camera.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
firmware.h staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
fw-core.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
fw-download.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
fw-management.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
gb-camera.h staging: greybus: fix up SPDX comment in .h files 2019-08-27 19:02:18 +02:00
gbphy.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
gbphy.h staging: greybus: Add identifier name to function definition argument 2020-08-18 16:07:17 +02:00
gpio.c staging: greybus: gpio: Use irqchip template 2020-07-28 10:05:33 +02:00
greybus_authentication.h staging: greybus: remove license "boilerplate" 2019-08-27 19:02:26 +02:00
greybus_firmware.h staging: greybus: remove license "boilerplate" 2019-08-27 19:02:26 +02:00
hid.c staging: greybus: hid: remove braces {} around single statement block 2020-04-13 08:55:26 +02:00
i2c.c staging: greybus: i2c: remove unused pointers 2020-03-17 12:47:24 +01:00
light.c staging: greybus: fix a missing-check bug in gb_lights_light_config() 2020-04-13 08:55:26 +02:00
log.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
loopback.c staging: greybus: loopback: fix a spelling error. 2020-05-27 10:18:09 +02:00
power_supply.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
pwm.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
raw.c staging: greybus: Replace zero-length array with flexible-array member 2020-02-11 14:04:53 -08:00
sdio.c mmc: host: Drop redundant MMC_CAP_ERASE 2020-05-28 11:22:14 +02:00
spi.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
spilib.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
spilib.h staging: greybus: fix up SPDX comment in .h files 2019-08-27 19:02:18 +02:00
uart.c Merge 5.7-rc7 into staging-next 2020-05-25 09:11:19 +02:00
usb.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00
vibrator.c staging: greybus: move core include files to include/linux/greybus/ 2019-08-27 19:02:59 +02:00