[alsa-devel] [PATCH resend 05/11] ASoC: soc-core: don't alloc memory carelessly when creating debugfs

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Tue Aug 20 07:05:06 CEST 2019


From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>

Current ALSA SoC might allocate debugfs name memory via kasprintf(),
but, it is unnecessary and the code becoming very complex.
Using local variable with appropriate size is enough.

This patch uses 64byte local variable for it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>
---
v2 -> v3

	- add Ranjani's Reviewed-by

 sound/soc/soc-core.c | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 0ed6576..6862abd 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -149,23 +149,19 @@ static const struct attribute_group *soc_dev_attr_groups[] = {
 #ifdef CONFIG_DEBUG_FS
 static void soc_init_component_debugfs(struct snd_soc_component *component)
 {
+	char name[64];
+
 	if (!component->card->debugfs_card_root)
 		return;
 
-	if (component->debugfs_prefix) {
-		char *name;
-
-		name = kasprintf(GFP_KERNEL, "%s:%s",
+	if (component->debugfs_prefix)
+		snprintf(name, ARRAY_SIZE(name), "%s:%s",
 			component->debugfs_prefix, component->name);
-		if (name) {
-			component->debugfs_root = debugfs_create_dir(name,
-				component->card->debugfs_card_root);
-			kfree(name);
-		}
-	} else {
-		component->debugfs_root = debugfs_create_dir(component->name,
-				component->card->debugfs_card_root);
-	}
+	else
+		snprintf(name, ARRAY_SIZE(name), "%s", component->name);
+
+	component->debugfs_root = debugfs_create_dir(name,
+					component->card->debugfs_card_root);
 
 	snd_soc_dapm_debugfs_init(snd_soc_component_get_dapm(component),
 		component->debugfs_root);
-- 
2.7.4



More information about the Alsa-devel mailing list