Patch "ASoC: Intel: Skylake: fix possible memory leak in skl_codec_device_init()" has been added to the 6.0-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ASoC: Intel: Skylake: fix possible memory leak in skl_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-intel-skylake-fix-possible-memory-leak-in-skl_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 0e213813df02da048ffd22a2c4fac041768ca327 Mon Sep 17 00:00:00 2001
From: Yang Yingliang <yangyingliang@xxxxxxxxxx>
Date: Thu, 20 Oct 2022 18:59:37 +0800
Subject: ASoC: Intel: Skylake: fix possible memory leak in skl_codec_device_init()

From: Yang Yingliang <yangyingliang@xxxxxxxxxx>

commit 0e213813df02da048ffd22a2c4fac041768ca327 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: e4746d94d00c ("ASoC: Intel: Skylake: Introduce HDA codec init and exit routines")
Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
Suggested-by: Cezary Rojewski <cezary.rojewski@xxxxxxxxx>
Link: https://lore.kernel.org/r/20221020105937.1448951-1-yangyingliang@xxxxxxxxxx
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 sound/soc/intel/skylake/skl.c |    8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

--- a/sound/soc/intel/skylake/skl.c
+++ b/sound/soc/intel/skylake/skl.c
@@ -689,11 +689,6 @@ static void load_codec_module(struct hda
 
 #endif /* CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC */
 
-static void skl_codec_device_exit(struct device *dev)
-{
-	snd_hdac_device_exit(dev_to_hdac_dev(dev));
-}
-
 static struct hda_codec *skl_codec_device_init(struct hdac_bus *bus, int addr)
 {
 	struct hda_codec *codec;
@@ -706,12 +701,11 @@ static struct hda_codec *skl_codec_devic
 	}
 
 	codec->core.type = HDA_DEV_ASOC;
-	codec->core.dev.release = skl_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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux