Add string.h to files that use string functions like strdup, strcmp, strcpy, etc. These are implicitly available through the malloc.h header but that will soon change. For bouncebuf, take this opportunity to sort the headers correctly. Co-developed-by: Claude <noreply@anthropic.com> Signed-off-by: Simon Glass <simon.glass@canonical.com>
64 lines
1.1 KiB
C
64 lines
1.1 KiB
C
|
|
#include <malloc.h>
|
|
#include <memalign.h>
|
|
#include <string.h>
|
|
#include <asm/cache.h>
|
|
#include <linux/compat.h>
|
|
|
|
struct p_current cur = {
|
|
.pid = 1,
|
|
};
|
|
__maybe_unused struct p_current *current = &cur;
|
|
|
|
unsigned long copy_from_user(void *dest, const void *src,
|
|
unsigned long count)
|
|
{
|
|
memcpy((void *)dest, (void *)src, count);
|
|
return 0;
|
|
}
|
|
|
|
void *kmalloc(size_t size, int flags)
|
|
{
|
|
void *p;
|
|
|
|
p = malloc_cache_aligned(size);
|
|
if (p && flags & __GFP_ZERO)
|
|
memset(p, 0, size);
|
|
|
|
return p;
|
|
}
|
|
|
|
struct kmem_cache *get_mem(int element_sz)
|
|
{
|
|
struct kmem_cache *ret;
|
|
|
|
ret = memalign(ARCH_DMA_MINALIGN, sizeof(struct kmem_cache));
|
|
ret->sz = element_sz;
|
|
|
|
return ret;
|
|
}
|
|
|
|
void *kmem_cache_alloc(struct kmem_cache *obj, int flag)
|
|
{
|
|
return malloc_cache_aligned(obj->sz);
|
|
}
|
|
|
|
/**
|
|
* kmemdup - duplicate region of memory
|
|
*
|
|
* @src: memory region to duplicate
|
|
* @len: memory region length
|
|
* @gfp: GFP mask to use
|
|
*
|
|
* 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;
|
|
}
|