diff options
| author | Masahiro Yamada <[email protected]> | 2015-07-13 13:17:07 +0900 |
|---|---|---|
| committer | Simon Glass <[email protected]> | 2015-07-22 07:30:44 -0600 |
| commit | 6b9f9eadffb5f64801746593784e12f07f2fadd0 (patch) | |
| tree | a7175969f30db000d6d1bcc049e5f2a55e042314 /lib/linux_compat.c | |
| parent | ebc3328cccc2bc7968fbd179e8e30fa1282b391a (diff) | |
linux_compat: handle __GFP_ZERO in kmalloc()
Currently, kzalloc() returns zero-filled memory, while kmalloc()
simply ignores the second argument and never fills the memory
area with zeros.
I want kmalloc(size, __GFP_ZERO) to behave as kzalloc() does,
which will make it easier to add more memory allocator variants.
With the introduction of __GFP_ZERO flag, going forward, kzmalloc()
variants can fall back to kmalloc() enabling the __GFP_ZERO flag.
Signed-off-by: Masahiro Yamada <[email protected]>
Reviewed-by: Heiko Schocher <[email protected]>
Acked-by: Simon Glass <[email protected]>
Reviewed-by: Lukasz Majewski <[email protected]>
Diffstat (limited to 'lib/linux_compat.c')
| -rw-r--r-- | lib/linux_compat.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/linux_compat.c b/lib/linux_compat.c index 8c7a7b57525..a936a7eac21 100644 --- a/lib/linux_compat.c +++ b/lib/linux_compat.c @@ -16,14 +16,13 @@ unsigned long copy_from_user(void *dest, const void *src, void *kmalloc(size_t size, int flags) { - return memalign(ARCH_DMA_MINALIGN, size); -} + void *p; -void *kzalloc(size_t size, int flags) -{ - void *ptr = kmalloc(size, flags); - memset(ptr, 0, size); - return ptr; + p = memalign(ARCH_DMA_MINALIGN, size); + if (flags & __GFP_ZERO) + memset(p, 0, size); + + return p; } struct kmem_cache *get_mem(int element_sz) |
