diff mbox series

ALSA: mixer_oss: Remove some incorrect kfree_const() usages

Message ID 63ac20f64234b7c9ea87a7fa9baf41e8255852f7.1727374631.git.christophe.jaillet@wanadoo.fr (mailing list archive)
State Accepted
Commit 368e4663c557de4a33f321b44e7eeec0a21b2e4e
Headers show
Series ALSA: mixer_oss: Remove some incorrect kfree_const() usages | expand

Commit Message

Christophe JAILLET Sept. 26, 2024, 6:17 p.m. UTC
"assigned" and "assigned->name" are allocated in snd_mixer_oss_proc_write()
using kmalloc() and kstrdup(), so there is no point in using kfree_const()
to free these resources.

Switch to the more standard kfree() to free these resources.

This could avoid a memory leak.

Fixes: 454f5ec1d2b7 ("ALSA: mixer: oss: Constify snd_mixer_oss_assign_table definition")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
Compile tested only.

For the records, this patch is a clean-up effort related to discussions at:
  - https://lore.kernel.org/all/ZvHurCYlCoi1ZTCX@skv.local/
  - https://lore.kernel.org/all/20240924050937.697118-1-senozhatsky@chromium.org/
---
 sound/core/oss/mixer_oss.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Takashi Iwai Sept. 30, 2024, 8:12 a.m. UTC | #1
On Thu, 26 Sep 2024 20:17:36 +0200,
Christophe JAILLET wrote:
> 
> "assigned" and "assigned->name" are allocated in snd_mixer_oss_proc_write()
> using kmalloc() and kstrdup(), so there is no point in using kfree_const()
> to free these resources.
> 
> Switch to the more standard kfree() to free these resources.
> 
> This could avoid a memory leak.
> 
> Fixes: 454f5ec1d2b7 ("ALSA: mixer: oss: Constify snd_mixer_oss_assign_table definition")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Applied now.  Thanks.


Takashi
diff mbox series

Patch

diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c
index 33bf9a220ada..89b317c728b4 100644
--- a/sound/core/oss/mixer_oss.c
+++ b/sound/core/oss/mixer_oss.c
@@ -901,8 +901,8 @@  static void snd_mixer_oss_slot_free(struct snd_mixer_oss_slot *chn)
 	struct slot *p = chn->private_data;
 	if (p) {
 		if (p->allocated && p->assigned) {
-			kfree_const(p->assigned->name);
-			kfree_const(p->assigned);
+			kfree(p->assigned->name);
+			kfree(p->assigned);
 		}
 		kfree(p);
 	}