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:
Jeff Dike
2007-07-15 23:38:56 -07:00
committed by Linus Torvalds
parent c43990162f
commit e4c4bf9968
17 changed files with 30 additions and 38 deletions

View File

@ -30,7 +30,6 @@
#include "irq_kern.h"
#include "os.h"
#include "sigio.h"
#include "um_malloc.h"
#include "misc_constants.h"
#include "as-layout.h"

View File

@ -46,7 +46,6 @@
#include "mode.h"
#include "mode_kern.h"
#include "choose-mode.h"
#include "um_malloc.h"
/* This is a per-cpu array. A processor only modifies its entry and it only
* cares about its entry, so it's OK if another processor is modifying its
@ -262,21 +261,6 @@ void dump_thread(struct pt_regs *regs, struct user *u)
{
}
void *um_kmalloc(int size)
{
return kmalloc(size, GFP_KERNEL);
}
void *um_kmalloc_atomic(int size)
{
return kmalloc(size, GFP_ATOMIC);
}
void *um_vmalloc(int size)
{
return vmalloc(size);
}
int __cant_sleep(void) {
return in_atomic() || irqs_disabled() || in_interrupt();
/* Is in_interrupt() really needed? */