diff options
author | Dongliang Mu <[email protected]> | 2021-06-02 11:41:36 +0800 |
---|---|---|
committer | Takashi Iwai <[email protected]> | 2021-06-02 09:37:40 +0200 |
commit | 3ae72f6ab9c1f688bd578cdc252dabce65fdaf57 (patch) | |
tree | c3694714a831de24cb128a1d9533aed72ce39826 /scripts/gdb/linux/timerlist.py | |
parent | 901be145a46eb79879367d853194346a549e623d (diff) |
ALSA: control led: fix memory leak in snd_ctl_led_register
The snd_ctl_led_sysfs_add and snd_ctl_led_sysfs_remove should contain
the refcount operations in pair. However, snd_ctl_led_sysfs_remove fails
to decrease the refcount to zero, which causes device_release never to
be invoked. This leads to memory leak to some resources, like struct
device_private. In addition, we also free some other similar memory
leaks in snd_ctl_led_init/snd_ctl_led_exit.
Fix this by replacing device_del to device_unregister
in snd_ctl_led_sysfs_remove/snd_ctl_led_init/snd_ctl_led_exit.
Note that, when CONFIG_DEBUG_KOBJECT_RELEASE is enabled, put_device will
call kobject_release and delay the release of kobject, which will cause
use-after-free when the memory backing the kobject is freed at once.
Reported-by: [email protected]
Fixes: a135dfb5de15 ("ALSA: led control - add sysfs kcontrol LED marking layer")
Signed-off-by: Dongliang Mu <[email protected]>
Reviewed-by: Dan Carpenter <[email protected]>
Reviewed-by: Jaroslav Kysela <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/timerlist.py')
0 files changed, 0 insertions, 0 deletions