This is a note to let you know that I've just added the patch titled ASoC: SOF: Intel: hda-codec: fix possible memory leak in hda_codec_device_init() to the 6.0-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: asoc-sof-intel-hda-codec-fix-possible-memory-leak-in-hda_codec_device_init.patch and it can be found in the queue-6.0 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From e9441675edc1bb8dbfadacf68aafacca60d65a25 Mon Sep 17 00:00:00 2001 From: Yang Yingliang <yangyingliang@xxxxxxxxxx> Date: Thu, 20 Oct 2022 19:01:57 +0800 Subject: ASoC: SOF: Intel: hda-codec: fix possible memory leak in hda_codec_device_init() From: Yang Yingliang <yangyingliang@xxxxxxxxxx> commit e9441675edc1bb8dbfadacf68aafacca60d65a25 upstream. If snd_hdac_device_register() fails, 'codec' and name allocated in dev_set_name() called in snd_hdac_device_init() are leaked. Fix this by calling put_device(), so they can be freed in snd_hda_codec_dev_release() and kobject_cleanup(). Fixes: 829c67319806 ("ASoC: SOF: Intel: Introduce HDA codec init and exit routines") Fixes: dfe66a18780d ("ALSA: hdac_ext: add extended HDA bus") Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx> Reviewed-by: Kai Vehmanen <kai.vehmanen@xxxxxxxxxxxxxxx> Link: https://lore.kernel.org/r/20221020110157.1450191-1-yangyingliang@xxxxxxxxxx Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- sound/soc/sof/intel/hda-codec.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) --- a/sound/soc/sof/intel/hda-codec.c +++ b/sound/soc/sof/intel/hda-codec.c @@ -109,11 +109,6 @@ EXPORT_SYMBOL_NS(hda_codec_jack_check, S #define is_generic_config(x) 0 #endif -static void hda_codec_device_exit(struct device *dev) -{ - snd_hdac_device_exit(dev_to_hdac_dev(dev)); -} - static struct hda_codec *hda_codec_device_init(struct hdac_bus *bus, int addr, int type) { struct hda_codec *codec; @@ -126,12 +121,11 @@ static struct hda_codec *hda_codec_devic } codec->core.type = type; - codec->core.dev.release = hda_codec_device_exit; ret = snd_hdac_device_register(&codec->core); if (ret) { dev_err(bus->dev, "failed to register hdac device\n"); - snd_hdac_device_exit(&codec->core); + put_device(&codec->core.dev); return ERR_PTR(ret); } Patches currently in stable-queue which might be from yangyingliang@xxxxxxxxxx are queue-6.0/drivers-hv-vmbus-fix-possible-memory-leak-in-vmbus_d.patch queue-6.0/bnx2x-fix-pci-device-refcount-leak-in-bnx2x_vf_is_pc.patch queue-6.0/net-pch_gbe-fix-pci-device-refcount-leak-while-modul.patch queue-6.0/regulator-rt5759-fix-oob-in-validate_desc.patch queue-6.0/octeontx2-af-debugsfs-fix-pci-device-refcount-leak.patch queue-6.0/regulator-core-fix-uaf-in-destroy_regulator.patch queue-6.0/drivers-hv-vmbus-fix-double-free-in-the-error-path-o.patch queue-6.0/asoc-sof-intel-hda-codec-fix-possible-memory-leak-in-hda_codec_device_init.patch queue-6.0/tee-optee-fix-possible-memory-leak-in-optee_register.patch queue-6.0/asoc-intel-skylake-fix-possible-memory-leak-in-skl_codec_device_init.patch