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>
This commit is contained in:
committed by
Linus Torvalds
parent
c43990162f
commit
e4c4bf9968
@@ -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));
|
||||
|
||||
|
||||
@@ -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__ */
|
||||
|
||||
Reference in New Issue
Block a user