diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-07-15 23:38:56 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 09:05:38 -0700 |
commit | e4c4bf9968cb4f0fceb1b8fb54790ccae73caf4e (patch) | |
tree | fe9892123214821c37a7b615fe52db7f6d46e148 /arch/um/include | |
parent | c43990162fc7f9d2f15a12797fdc6f9c0905f704 (diff) |
uml: Eliminate kernel allocator wrappers
UML had two wrapper procedures for kmalloc, um_kmalloc and um_kmalloc_atomic
because the flag constants weren't available in userspace code.
kern_constants.h had made kernel constants available for a long time, so there
is no need for these wrappers any more. Rather, userspace code calls kmalloc
directly with the userspace versions of the gfp flags.
kmalloc isn't a real procedure, so I had to essentially copy the inline
wrapper around __kmalloc.
vmalloc also had its own wrapper for no good reason. This is now gone.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/include')
-rw-r--r-- | arch/um/include/common-offsets.h | 3 | ||||
-rw-r--r-- | arch/um/include/um_malloc.h | 12 |
2 files changed, 12 insertions, 3 deletions
diff --git a/arch/um/include/common-offsets.h b/arch/um/include/common-offsets.h index 7376ee44e330..6eee343e53eb 100644 --- a/arch/um/include/common-offsets.h +++ b/arch/um/include/common-offsets.h @@ -27,6 +27,9 @@ DEFINE(UM_ELFCLASS64, ELFCLASS64); DEFINE(UM_NR_CPUS, NR_CPUS); +DEFINE(UM_GFP_KERNEL, GFP_KERNEL); +DEFINE(UM_GFP_ATOMIC, GFP_ATOMIC); + /* For crypto assembler code. */ DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx)); diff --git a/arch/um/include/um_malloc.h b/arch/um/include/um_malloc.h index e6d7c5aa3f4e..0ad17cb83d96 100644 --- a/arch/um/include/um_malloc.h +++ b/arch/um/include/um_malloc.h @@ -6,11 +6,17 @@ #ifndef __UM_MALLOC_H__ #define __UM_MALLOC_H__ -extern void *um_kmalloc(int size); -extern void *um_kmalloc_atomic(int size); +#include "kern_constants.h" + +extern void *__kmalloc(int size, int flags); +static inline void *kmalloc(int size, int flags) +{ + return __kmalloc(size, flags); +} + extern void kfree(const void *ptr); -extern void *um_vmalloc(int size); +extern void *vmalloc(unsigned long size); extern void vfree(void *ptr); #endif /* __UM_MALLOC_H__ */ |