| From 7692295e274ffa67e88c508eb501a916ef802180 Mon Sep 17 00:00:00 2001 |
| From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| Date: Wed, 17 Jun 2020 11:35:36 -0500 |
| Subject: [PATCH] soundwire: intel: fix memory leak with devm_kasprintf |
| |
| commit bf6d6e68d2028a2d82f4c106f50ec75cc1e6ef89 upstream. |
| |
| 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> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c |
| index f83f3b4ed6b1..412a64b29b09 100644 |
| --- a/drivers/soundwire/intel.c |
| +++ b/drivers/soundwire/intel.c |
| @@ -701,8 +701,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; |
| |
| -- |
| 2.27.0 |
| |