/* Return: newly allocated copy of @src or NULL in case of error  */
void* kmemdup(const void *src, size_t len, gfp_t gfp)
/* Return: newly allocated copy of @src or NULL in case of error  */
void* kmemdup(const void *src, size_t len, gfp_t gfp)
{
	void *p;
	p = kmalloc(len, gfp);
	if (p)
		memcpy(p, src, len);
	return p;
}