Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261993AbVBALTJ (ORCPT ); Tue, 1 Feb 2005 06:19:09 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261994AbVBALTJ (ORCPT ); Tue, 1 Feb 2005 06:19:09 -0500 Received: from news.suse.de ([195.135.220.2]:15489 "EHLO Cantor.suse.de") by vger.kernel.org with ESMTP id S261993AbVBALRx (ORCPT ); Tue, 1 Feb 2005 06:17:53 -0500 Date: Tue, 01 Feb 2005 12:17:51 +0100 Message-ID: From: Takashi Iwai To: Cc: Andrew Morton , , Subject: Re: [PATCH 2.6] 7/7 replace snd_kmalloc_strdup by kstrdup In-Reply-To: <1107228526.41fef76e4c9be@webmail.grupopie.com> References: <1107228526.41fef76e4c9be@webmail.grupopie.com> User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 MULE XEmacs/21.4 (patch 15) (Security Through Obscurity) (i386-suse-linux) MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 9594 Lines: 238 At Tue, 1 Feb 2005 03:28:46 +0000, "" wrote: > > [1 ] > > This patch removes the strdup implementation from the sound core > (snd_kmalloc_strdup), and updates it to use the kstrdup library function. > > Signed-off-by: Paulo Marques This patch won't work properly if CONFIG_SND_DEBUG_MEMORY is set... Takashi > > -- > Paulo Marques - www.grupopie.com > > All that is necessary for the triumph of evil is that good men do nothing. > Edmund Burke (1729 - 1797) > [2 patch7 ] > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/include/sound/core.h linux-2.6.11-rc2-bk9/include/sound/core.h > --- vanilla-2.6.11-rc2-bk9/include/sound/core.h 2005-01-31 20:05:33.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/include/sound/core.h 2005-01-31 21:31:54.000000000 +0000 > @@ -310,7 +310,6 @@ void snd_hidden_vfree(void *obj); > #define kfree_nocheck(obj) kfree(obj) > #define vfree_nocheck(obj) vfree(obj) > #endif > -char *snd_kmalloc_strdup(const char *string, int flags); > int copy_to_user_fromio(void __user *dst, const volatile void __iomem *src, size_t count); > int copy_from_user_toio(volatile void __iomem *dst, const void __user *src, size_t count); > > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/sound/core/info.c linux-2.6.11-rc2-bk9/sound/core/info.c > --- vanilla-2.6.11-rc2-bk9/sound/core/info.c 2005-01-31 20:05:34.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/sound/core/info.c 2005-01-31 21:31:02.000000000 +0000 > @@ -24,6 +24,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -755,7 +756,7 @@ static snd_info_entry_t *snd_info_create > entry = kcalloc(1, sizeof(*entry), GFP_KERNEL); > if (entry == NULL) > return NULL; > - entry->name = snd_kmalloc_strdup(name, GFP_KERNEL); > + entry->name = kstrdup(name, GFP_KERNEL); > if (entry->name == NULL) { > kfree(entry); > return NULL; > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/sound/core/info_oss.c linux-2.6.11-rc2-bk9/sound/core/info_oss.c > --- vanilla-2.6.11-rc2-bk9/sound/core/info_oss.c 2004-12-24 21:34:01.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/sound/core/info_oss.c 2005-01-31 21:30:35.000000000 +0000 > @@ -27,6 +27,7 @@ > #include > #include > #include > +#include > > #if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_PROC_FS) > > @@ -51,7 +52,7 @@ int snd_oss_info_register(int dev, int n > x = NULL; > } > } else { > - x = snd_kmalloc_strdup(string, GFP_KERNEL); > + x = kstrdup(string, GFP_KERNEL); > if (x == NULL) { > up(&strings); > return -ENOMEM; > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/sound/core/memory.c linux-2.6.11-rc2-bk9/sound/core/memory.c > --- vanilla-2.6.11-rc2-bk9/sound/core/memory.c 2005-01-31 20:05:34.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/sound/core/memory.c 2005-01-31 21:30:07.000000000 +0000 > @@ -221,29 +221,6 @@ int __exit snd_memory_info_done(void) > #endif /* CONFIG_SND_DEBUG_MEMORY */ > > /** > - * snd_kmalloc_strdup - copy the string > - * @string: the original string > - * @flags: allocation conditions, GFP_XXX > - * > - * Allocates a memory chunk via kmalloc() and copies the string to it. > - * > - * Returns the pointer, or NULL if no enoguh memory. > - */ > -char *snd_kmalloc_strdup(const char *string, int flags) > -{ > - size_t len; > - char *ptr; > - > - if (!string) > - return NULL; > - len = strlen(string) + 1; > - ptr = _snd_kmalloc(len, flags); > - if (ptr) > - memcpy(ptr, string, len); > - return ptr; > -} > - > -/** > * copy_to_user_fromio - copy data from mmio-space to user-space > * @dst: the destination pointer on user-space > * @src: the source pointer on mmio > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/sound/core/oss/mixer_oss.c linux-2.6.11-rc2-bk9/sound/core/oss/mixer_oss.c > --- vanilla-2.6.11-rc2-bk9/sound/core/oss/mixer_oss.c 2005-01-31 20:05:34.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/sound/core/oss/mixer_oss.c 2005-01-31 21:30:19.000000000 +0000 > @@ -24,6 +24,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -1122,7 +1123,7 @@ static void snd_mixer_oss_proc_write(snd > goto __unlock; > } > tbl->oss_id = ch; > - tbl->name = snd_kmalloc_strdup(str, GFP_KERNEL); > + tbl->name = kstrdup(str, GFP_KERNEL); > if (! tbl->name) { > kfree(tbl); > goto __unlock; > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/sound/core/oss/pcm_oss.c linux-2.6.11-rc2-bk9/sound/core/oss/pcm_oss.c > --- vanilla-2.6.11-rc2-bk9/sound/core/oss/pcm_oss.c 2005-01-31 20:05:34.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/sound/core/oss/pcm_oss.c 2005-01-31 21:30:24.000000000 +0000 > @@ -33,6 +33,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -2349,7 +2350,7 @@ static void snd_pcm_oss_proc_write(snd_i > for (setup1 = pstr->oss.setup_list; setup1->next; setup1 = setup1->next); > setup1->next = setup; > } > - template.task_name = snd_kmalloc_strdup(task_name, GFP_KERNEL); > + template.task_name = kstrdup(task_name, GFP_KERNEL); > } else { > buffer->error = -ENOMEM; > } > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/sound/core/sound.c linux-2.6.11-rc2-bk9/sound/core/sound.c > --- vanilla-2.6.11-rc2-bk9/sound/core/sound.c 2005-01-31 20:05:34.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/sound/core/sound.c 2005-01-31 21:30:47.000000000 +0000 > @@ -401,7 +401,6 @@ EXPORT_SYMBOL(snd_hidden_kfree); > EXPORT_SYMBOL(snd_hidden_vmalloc); > EXPORT_SYMBOL(snd_hidden_vfree); > #endif > -EXPORT_SYMBOL(snd_kmalloc_strdup); > EXPORT_SYMBOL(copy_to_user_fromio); > EXPORT_SYMBOL(copy_from_user_toio); > /* init.c */ > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/sound/core/timer.c linux-2.6.11-rc2-bk9/sound/core/timer.c > --- vanilla-2.6.11-rc2-bk9/sound/core/timer.c 2005-01-31 20:05:34.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/sound/core/timer.c 2005-01-31 21:30:40.000000000 +0000 > @@ -26,6 +26,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -97,7 +98,7 @@ static snd_timer_instance_t *snd_timer_i > timeri = kcalloc(1, sizeof(*timeri), GFP_KERNEL); > if (timeri == NULL) > return NULL; > - timeri->owner = snd_kmalloc_strdup(owner, GFP_KERNEL); > + timeri->owner = kstrdup(owner, GFP_KERNEL); > if (! timeri->owner) { > kfree(timeri); > return NULL; > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/sound/isa/gus/gus_mem.c linux-2.6.11-rc2-bk9/sound/isa/gus/gus_mem.c > --- vanilla-2.6.11-rc2-bk9/sound/isa/gus/gus_mem.c 2005-01-31 20:05:34.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/sound/isa/gus/gus_mem.c 2005-01-31 21:31:16.000000000 +0000 > @@ -21,6 +21,7 @@ > > #include > #include > +#include > #include > #include > #include > @@ -213,7 +214,7 @@ snd_gf1_mem_block_t *snd_gf1_mem_alloc(s > if (share_id != NULL) > memcpy(&block.share_id, share_id, sizeof(block.share_id)); > block.owner = owner; > - block.name = snd_kmalloc_strdup(name, GFP_KERNEL); > + block.name = kstrdup(name, GFP_KERNEL); > nblock = snd_gf1_mem_xalloc(alloc, &block); > snd_gf1_mem_lock(alloc, 1); > return nblock; > @@ -253,13 +254,13 @@ int snd_gf1_mem_init(snd_gus_card_t * gu > if (gus->gf1.enh_mode) { > block.ptr = 0; > block.size = 1024; > - block.name = snd_kmalloc_strdup("InterWave LFOs", GFP_KERNEL); > + block.name = kstrdup("InterWave LFOs", GFP_KERNEL); > if (snd_gf1_mem_xalloc(alloc, &block) == NULL) > return -ENOMEM; > } > block.ptr = gus->gf1.default_voice_address; > block.size = 4; > - block.name = snd_kmalloc_strdup("Voice default (NULL's)", GFP_KERNEL); > + block.name = kstrdup("Voice default (NULL's)", GFP_KERNEL); > if (snd_gf1_mem_xalloc(alloc, &block) == NULL) > return -ENOMEM; > #ifdef CONFIG_SND_DEBUG > diff -uprN -X dontdiff vanilla-2.6.11-rc2-bk9/sound/synth/emux/emux.c linux-2.6.11-rc2-bk9/sound/synth/emux/emux.c > --- vanilla-2.6.11-rc2-bk9/sound/synth/emux/emux.c 2005-01-31 20:05:35.000000000 +0000 > +++ linux-2.6.11-rc2-bk9/sound/synth/emux/emux.c 2005-01-31 21:31:33.000000000 +0000 > @@ -25,6 +25,7 @@ > #include > #include > #include > +#include > #include "emux_voice.h" > > MODULE_AUTHOR("Takashi Iwai"); > @@ -76,7 +77,7 @@ int snd_emux_register(snd_emux_t *emu, s > snd_assert(name != NULL, return -EINVAL); > > emu->card = card; > - emu->name = snd_kmalloc_strdup(name, GFP_KERNEL); > + emu->name = kstrdup(name, GFP_KERNEL); > emu->voices = kcalloc(emu->max_voices, sizeof(snd_emux_voice_t), GFP_KERNEL); > if (emu->voices == NULL) > return -ENOMEM; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/