/* The contents of the object pointed to are preserved up to the lesser of the new and old sizes. If  */
void* krealloc(const void *p, size_t new_size, gfp_t flags)
/* The contents of the object pointed to are preserved up to the lesser of the new and old sizes. If  */
void* krealloc(const void *p, size_t new_size, gfp_t flags)
{
	void *ret;
	if (unlikely(!new_size)) {
		kfree(p);
		return ZERO_SIZE_PTR;
	}
	ret = __krealloc(p, new_size, flags);
	if (ret && p != ret)
		kfree(p);
	return ret;
}