X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=mm%2Futil.c;h=ace2aea69f1a834ca7526a1bfa4070205b82579e;hb=5b982c5bb7db5cfbc15236d9d45cec32e5472ed5;hp=7368479220b3b4c3d8c12a9306bb18221d9a99b9;hpb=63e8d9114dab88c101be2372cb1f83a4fe74d9c1;p=powerpc.git diff --git a/mm/util.c b/mm/util.c index 7368479220..ace2aea69f 100644 --- a/mm/util.c +++ b/mm/util.c @@ -11,7 +11,7 @@ */ void *__kzalloc(size_t size, gfp_t flags) { - void *ret = ____kmalloc(size, flags); + void *ret = kmalloc_track_caller(size, flags); if (ret) memset(ret, 0, size); return ret; @@ -33,13 +33,31 @@ char *kstrdup(const char *s, gfp_t gfp) return NULL; len = strlen(s) + 1; - buf = ____kmalloc(len, gfp); + buf = kmalloc_track_caller(len, gfp); if (buf) memcpy(buf, s, len); return buf; } EXPORT_SYMBOL(kstrdup); +/** + * kmemdup - duplicate region of memory + * + * @src: memory region to duplicate + * @len: memory region length + * @gfp: GFP mask to use + */ +void *kmemdup(const void *src, size_t len, gfp_t gfp) +{ + void *p; + + p = kmalloc_track_caller(len, gfp); + if (p) + memcpy(p, src, len); + return p; +} +EXPORT_SYMBOL(kmemdup); + /* * strndup_user - duplicate an existing string from user space *