aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/slab.c13
-rw-r--r--mm/util.c6
2 files changed, 11 insertions, 8 deletions
diff --git a/mm/slab.c b/mm/slab.c
index 3dbd6f4e7477..c23b99250df2 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -3488,22 +3488,25 @@ static __always_inline void *__do_kmalloc(size_t size, gfp_t flags,
3488} 3488}
3489 3489
3490 3490
3491#ifdef CONFIG_DEBUG_SLAB
3491void *__kmalloc(size_t size, gfp_t flags) 3492void *__kmalloc(size_t size, gfp_t flags)
3492{ 3493{
3493#ifndef CONFIG_DEBUG_SLAB
3494 return __do_kmalloc(size, flags, NULL);
3495#else
3496 return __do_kmalloc(size, flags, __builtin_return_address(0)); 3494 return __do_kmalloc(size, flags, __builtin_return_address(0));
3497#endif
3498} 3495}
3499EXPORT_SYMBOL(__kmalloc); 3496EXPORT_SYMBOL(__kmalloc);
3500 3497
3501#ifdef CONFIG_DEBUG_SLAB
3502void *__kmalloc_track_caller(size_t size, gfp_t flags, void *caller) 3498void *__kmalloc_track_caller(size_t size, gfp_t flags, void *caller)
3503{ 3499{
3504 return __do_kmalloc(size, flags, caller); 3500 return __do_kmalloc(size, flags, caller);
3505} 3501}
3506EXPORT_SYMBOL(__kmalloc_track_caller); 3502EXPORT_SYMBOL(__kmalloc_track_caller);
3503
3504#else
3505void *__kmalloc(size_t size, gfp_t flags)
3506{
3507 return __do_kmalloc(size, flags, NULL);
3508}
3509EXPORT_SYMBOL(__kmalloc);
3507#endif 3510#endif
3508 3511
3509/** 3512/**
diff --git a/mm/util.c b/mm/util.c
index e14fa84ef39a..ace2aea69f1a 100644
--- a/mm/util.c
+++ b/mm/util.c
@@ -11,7 +11,7 @@
11 */ 11 */
12void *__kzalloc(size_t size, gfp_t flags) 12void *__kzalloc(size_t size, gfp_t flags)
13{ 13{
14 void *ret = ____kmalloc(size, flags); 14 void *ret = kmalloc_track_caller(size, flags);
15 if (ret) 15 if (ret)
16 memset(ret, 0, size); 16 memset(ret, 0, size);
17 return ret; 17 return ret;
@@ -33,7 +33,7 @@ char *kstrdup(const char *s, gfp_t gfp)
33 return NULL; 33 return NULL;
34 34
35 len = strlen(s) + 1; 35 len = strlen(s) + 1;
36 buf = ____kmalloc(len, gfp); 36 buf = kmalloc_track_caller(len, gfp);
37 if (buf) 37 if (buf)
38 memcpy(buf, s, len); 38 memcpy(buf, s, len);
39 return buf; 39 return buf;
@@ -51,7 +51,7 @@ void *kmemdup(const void *src, size_t len, gfp_t gfp)
51{ 51{
52 void *p; 52 void *p;
53 53
54 p = ____kmalloc(len, gfp); 54 p = kmalloc_track_caller(len, gfp);
55 if (p) 55 if (p)
56 memcpy(p, src, len); 56 memcpy(p, src, len);
57 return p; 57 return p;