ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails
authorCezary Rojewski <cezary.rojewski@intel.com>
Thu, 26 Oct 2023 08:25:58 +0000 (10:25 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:22 +0000 (11:59 +0100)
[ Upstream commit 168d97844a61db302dec76d44406e9d4d7106b8e ]

Error path in snd_skl_parse_uuids() shall free last allocated module if
its instance_id allocation fails.

Fixes: f8e066521192 ("ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case")
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20231026082558.1864910-1-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/intel/skylake/skl-sst-utils.c

index 57ea815..b776c58 100644 (file)
@@ -299,6 +299,7 @@ int snd_skl_parse_uuids(struct sst_dsp *ctx, const struct firmware *fw,
                module->instance_id = devm_kzalloc(ctx->dev, size, GFP_KERNEL);
                if (!module->instance_id) {
                        ret = -ENOMEM;
+                       kfree(module);
                        goto free_uuid_list;
                }