[alsa-devel] [PATCH 23/28] ASoC: soc-core: don't alloc memory	carelessly when creating debugfs
    Kuninori Morimoto 
    kuninori.morimoto.gx at renesas.com
       
    Tue Aug  6 03:30:36 CEST 2019
    
    
  
From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
Current ALSA SoC might allocate debugfs name memory via kasprintf(),
but, it is grandiose and the code becoming very complex.
Using enough size local variable is very enough for this purpose.
This patch uses 64byte local variable for it.
It is very enough size for this purposeq.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
 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 c737349..bf3bda2 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -147,23 +147,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