All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: <pmarques@grupopie.com>
Cc: Andrew Morton <akpm@osdl.org>, <linux-kernel@vger.kernel.org>,
	<alsa-devel@alsa-project.org>
Subject: Re: [PATCH 2.6] 7/7 replace snd_kmalloc_strdup by kstrdup
Date: Tue, 01 Feb 2005 12:17:51 +0100	[thread overview]
Message-ID: <s5h651ch6lc.wl@alsa2.suse.de> (raw)
In-Reply-To: <1107228526.41fef76e4c9be@webmail.grupopie.com>

At Tue,  1 Feb 2005 03:28:46 +0000,
"" <pmarques@grupopie.com> wrote:
> 
> [1  <text/plain; iso-8859-1 (quoted-printable)>]
> 
> 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 <pmarques@grupopie.com>

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 <text/x-diff (base64)>]
> 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 <linux/vmalloc.h>
>  #include <linux/time.h>
>  #include <linux/smp_lock.h>
> +#include <linux/string.h>
>  #include <sound/core.h>
>  #include <sound/minors.h>
>  #include <sound/info.h>
> @@ -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 <sound/info.h>
>  #include <sound/version.h>
>  #include <linux/utsname.h>
> +#include <linux/string.h>
>  
>  #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 <linux/smp_lock.h>
>  #include <linux/slab.h>
>  #include <linux/time.h>
> +#include <linux/string.h>
>  #include <sound/core.h>
>  #include <sound/minors.h>
>  #include <sound/control.h>
> @@ -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 <linux/time.h>
>  #include <linux/vmalloc.h>
>  #include <linux/moduleparam.h>
> +#include <linux/string.h>
>  #include <sound/core.h>
>  #include <sound/minors.h>
>  #include <sound/pcm.h>
> @@ -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 <linux/slab.h>
>  #include <linux/time.h>
>  #include <linux/moduleparam.h>
> +#include <linux/string.h>
>  #include <sound/core.h>
>  #include <sound/timer.h>
>  #include <sound/control.h>
> @@ -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 <sound/driver.h>
>  #include <linux/slab.h>
> +#include <linux/string.h>
>  #include <sound/core.h>
>  #include <sound/gus.h>
>  #include <sound/info.h>
> @@ -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 <sound/core.h>
>  #include <sound/emux_synth.h>
>  #include <linux/init.h>
> +#include <linux/string.h>
>  #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;

  parent reply	other threads:[~2005-02-01 11:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-01  3:28 [PATCH 2.6] 7/7 replace snd_kmalloc_strdup by kstrdup pmarques
2005-02-01 11:17 ` Takashi Iwai
2005-02-01 11:17 ` Takashi Iwai
2005-02-01 11:17 ` Takashi Iwai [this message]
2005-02-01 12:27   ` Paulo Marques
2005-02-01 12:32     ` Takashi Iwai
2005-02-01 13:07       ` Paulo Marques
2005-02-01 13:16         ` Takashi Iwai
2005-02-01 15:39           ` Paulo Marques
2005-02-01 16:39             ` Takashi Iwai
2005-02-01 16:39             ` Takashi Iwai
2005-02-01 17:15               ` Paulo Marques
2005-02-02 11:29                 ` Takashi Iwai
2005-02-02 11:29                   ` Takashi Iwai
2005-02-01 13:16         ` Takashi Iwai
2005-02-01 12:32     ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5h651ch6lc.wl@alsa2.suse.de \
    --to=tiwai@suse.de \
    --cc=akpm@osdl.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmarques@grupopie.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.