Re: [PATCH 2.6] 7/7 replace snd_kmalloc_strdup by kstrdup

From: Paulo Marques
Date: Tue Feb 01 2005 - 08:10:06 EST


Takashi Iwai wrote:
[...]
The compile should be fine but it may result in memory corruption
since kmalloc/kfree become wrappers when CONFIG_SND_DEBUG_MEMORY is
set. See include/sound/core.h.

Ok, I see what you mean. I'm sorry I've missed this, but you must admit that code like this:

#define kmalloc(size, flags) snd_hidden_kmalloc(size, flags)
#define kfree(obj) snd_hidden_kfree(obj)

in sound/core.h make the code really hard to read :P

I thought of going all the way and changing the callers of kstrdup in sound to use kfree, so that it would work without debugging memory allocated for strdup'ed strings.

However the code there already uses kfree, just not the standard kfree because it might have been defined to something else in core.h if CONFIG_SND_DEBUG_MEMORY is set.

We could still go all the way and carry on with this approach: use the standard kstrdup / kfree when not CONFIG_SND_DEBUG_MEMORY, and define kstrdup to be an internal sound function in sound/core/memory.c when CONFIG_SND_DEBUG_MEMORY is set.

Do you prefer that I do another patch to do this, or that I just drop the patch and leave snd_kmalloc_strdup alone?

--
Paulo Marques - www.grupopie.com

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke (1729 - 1797)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/