On 11/16/2023 11:41 PM, Kamil Duljas wrote:
skl_platform_register() uses krealloc. When krealloc is fail, then previous memory is not freed. The leak is also when soc component registration failed.
Signed-off-by: Kamil Duljas kamil.duljas@gmail.com
sound/soc/intel/skylake/skl-pcm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c index d0c02e8a6785..e2578ee001ff 100644 --- a/sound/soc/intel/skylake/skl-pcm.c +++ b/sound/soc/intel/skylake/skl-pcm.c @@ -1462,6 +1462,7 @@ int skl_platform_register(struct device *dev) dais = krealloc(skl->dais, sizeof(skl_fe_dai) + sizeof(skl_platform_dai), GFP_KERNEL); if (!dais) {
}kfree(skl->dais); ret = -ENOMEM; goto err;
@@ -1474,8 +1475,10 @@ int skl_platform_register(struct device *dev)
ret = devm_snd_soc_register_component(dev, &skl_component, skl->dais, num_dais);
- if (ret)
- if (ret) {
dev_err(dev, "soc component registration failed %d\n", ret);kfree(skl->dais);
- } err: return ret; }
Seems ok, Reviewed-by: Amadeusz Sławiński amadeuszx.slawinski@linux.intel.com