Patch "ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case" has been added to the 4.14-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case
to the 4.14-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-uuid_module-memory-leak-in-failure-case.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Mon Dec 18 13:28:59 CET 2017
From: Pankaj Bharadiya <[email protected]>
Date: Tue, 7 Nov 2017 16:16:19 +0530
Subject: ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case
From: Pankaj Bharadiya <[email protected]>
[ Upstream commit f8e066521192c7debe59127d90abbe2773577e25 ]
In the loop that adds the uuid_module to the uuid_list list, allocated memory is not properly freed in the error path free uuid_list whenever any of the memory allocation in the loop fails to avoid memory leak.
--- sound/soc/intel/skylake/skl-sst-utils.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-)
sound/soc/intel/skylake/skl-sst-utils.c +11 -4
@@ -251,6 +251,7 @@ int snd_skl_parse_uuids(struct sst_dsp *struct uuid_module *module;struct firmware stripped_fw;unsigned int safe_file; +int ret =0 ;/* Get the FW pointer to derive ADSP header */ stripped_fw.data = fw->data;
@@ -299,8 +300,10 @@ int snd_skl_parse_uuids(struct sst_dsp *for (i =0 ; i < num_entry; i++, mod_entry++) { module =kzalloc (sizeof (*module),GFP_KERNEL ); -if (!module) -return -ENOMEM ; +if (!module) { + ret = -ENOMEM ; + goto free_uuid_list; + } uuid_bin = (uuid_le *)mod_entry->uuid.id;memcpy (&module->uuid, uuid_bin,sizeof (module->uuid));
@@ -311,8 +314,8 @@ int snd_skl_parse_uuids(struct sst_dsp * size =sizeof (int ) * mod_entry->instance_max_count; module->instance_id =devm_kzalloc (ctx->dev, size,GFP_KERNEL );if (!module->instance_id) { -kfree (module); -return -ENOMEM ; + ret = -ENOMEM ; + goto free_uuid_list; }list_add_tail (&module->list, &skl->uuid_list);
@@ -323,6 +326,10 @@ int snd_skl_parse_uuids(struct sst_dsp * }return 0 ; + +free_uuid_list: +skl_freeup_uuid_list (skl); +return ret; }void skl_freeup_uuid_list (struct skl_sst *ctx)
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/asoc-intel-skylake-fix-uuid_module-memory-leak-in-failure-case.patch