Skip to content

Commit

Permalink
[PATCH] ALSA: convert kcalloc to kzalloc
Browse files Browse the repository at this point in the history
This patch introduces a memory-leak tracking version of kzalloc for ALSA.

Signed-off-by: Pekka Enberg <[email protected]>
Cc: Jaroslav Kysela <[email protected]>
Signed-off-by: Jiri Slaby <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Pekka Enberg authored and Linus Torvalds committed Sep 7, 2005
1 parent e915fc4 commit 8db08ea
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 5 deletions.
2 changes: 2 additions & 0 deletions include/sound/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -291,12 +291,14 @@ void snd_memory_done(void);
int snd_memory_info_init(void);
int snd_memory_info_done(void);
void *snd_hidden_kmalloc(size_t size, unsigned int __nocast flags);
void *snd_hidden_kzalloc(size_t size, unsigned int __nocast flags);
void *snd_hidden_kcalloc(size_t n, size_t size, unsigned int __nocast flags);
void snd_hidden_kfree(const void *obj);
void *snd_hidden_vmalloc(unsigned long size);
void snd_hidden_vfree(void *obj);
char *snd_hidden_kstrdup(const char *s, unsigned int __nocast flags);
#define kmalloc(size, flags) snd_hidden_kmalloc(size, flags)
#define kzalloc(size, flags) snd_hidden_kzalloc(size, flags)
#define kcalloc(n, size, flags) snd_hidden_kcalloc(n, size, flags)
#define kfree(obj) snd_hidden_kfree(obj)
#define vmalloc(size) snd_hidden_vmalloc(size)
Expand Down
14 changes: 10 additions & 4 deletions sound/core/memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,15 +116,21 @@ void *snd_hidden_kmalloc(size_t size, unsigned int __nocast flags)
return _snd_kmalloc(size, flags);
}

void *snd_hidden_kzalloc(size_t size, unsigned int __nocast flags)
{
void *ret = _snd_kmalloc(size, flags);
if (ret)
memset(ret, 0, size);
return ret;
}
EXPORT_SYMBOL(snd_hidden_kzalloc);

void *snd_hidden_kcalloc(size_t n, size_t size, unsigned int __nocast flags)
{
void *ret = NULL;
if (n != 0 && size > INT_MAX / n)
return ret;
ret = _snd_kmalloc(n * size, flags);
if (ret)
memset(ret, 0, n * size);
return ret;
return snd_hidden_kzalloc(n * size, flags);
}

void snd_hidden_kfree(const void *obj)
Expand Down
2 changes: 1 addition & 1 deletion sound/pci/ali5451/ali5451.c
Original file line number Diff line number Diff line change
Expand Up @@ -2249,7 +2249,7 @@ static int __devinit snd_ali_create(snd_card_t * card,
return -ENXIO;
}

if ((codec = kcalloc(1, sizeof(*codec), GFP_KERNEL)) == NULL) {
if ((codec = kzalloc(sizeof(*codec), GFP_KERNEL)) == NULL) {
pci_disable_device(pci);
return -ENOMEM;
}
Expand Down

0 comments on commit 8db08ea

Please sign in to comment.