#include <linux/slab.h> #include <linux/string.h> #include <linux/module.h> /** * kzalloc - allocate memory. The memory is set to zero. * @size: how many bytes of memory are required. * @flags: the type of memory to allocate. */ void *kzalloc(size_t size, gfp_t flags) { void *ret = kmalloc(size, flags); if (ret) memset(ret, 0, size); return ret; } EXPORT_SYMBOL(kzalloc); /* * kstrdup - allocate space for and copy an existing string * * @s: the string to duplicate * @gfp: the GFP mask used in the kmalloc() call when allocating memory */ char *kstrdup(const char *s, gfp_t gfp) { size_t len; char *buf; if (!s) return NULL; len = strlen(s) + 1; buf = kmalloc(len, gfp); if (buf) memcpy(buf, s, len); return buf; } EXPORT_SYMBOL(kstrdup);