/* @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)
/* @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;
}