soundwire: intel: fix memory leak with devm_kasprintf
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Wed, 17 Jun 2020 16:35:36 +0000 (11:35 -0500)
committerVinod Koul <vkoul@kernel.org>
Mon, 22 Jun 2020 11:45:20 +0000 (17:15 +0530)
The dais are allocated with devm_kcalloc() but their name isn't
resourced managed and never freed. Fix by also using devm_ for the dai
names as well.

Fixes: c46302ec554c5 ('soundwire: intel: Add audio DAI ops')
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20200617163536.17401-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/intel.c

index 4cfdd074e310d9688c81eb3fece7985508471776..c7422740edd4ccf3e4ccd424dfbd0dff0c04951e 100644 (file)
@@ -930,8 +930,9 @@ static int intel_create_dai(struct sdw_cdns *cdns,
 
         /* TODO: Read supported rates/formats from hardware */
        for (i = off; i < (off + num); i++) {
-               dais[i].name = kasprintf(GFP_KERNEL, "SDW%d Pin%d",
-                                        cdns->instance, i);
+               dais[i].name = devm_kasprintf(cdns->dev, GFP_KERNEL,
+                                             "SDW%d Pin%d",
+                                             cdns->instance, i);
                if (!dais[i].name)
                        return -ENOMEM;