module: merge module_alloc() finally

As Christoph Hellwig suggested, module_alloc() actually can be
unified for i386 and x86_64 (of course, also UML).

Signed-off-by: WANG Cong <amwang@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: 'Ingo Molnar' <mingo@elte.hu>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Amerigo Wang 2009-06-03 21:46:46 -04:00 committed by Rusty Russell
parent c0e5e10bf3
commit c398df30d5
3 changed files with 12 additions and 11 deletions

View file

@ -34,14 +34,6 @@
#define DEBUGP(fmt...)
#endif
#if defined(CONFIG_UML) || defined(CONFIG_X86_32)
void *module_alloc(unsigned long size)
{
if (size == 0)
return NULL;
return vmalloc_exec(size);
}
#else /*X86_64*/
void *module_alloc(unsigned long size)
{
struct vm_struct *area;
@ -56,9 +48,9 @@ void *module_alloc(unsigned long size)
if (!area)
return NULL;
return __vmalloc_area(area, GFP_KERNEL, PAGE_KERNEL_EXEC);
return __vmalloc_area(area, GFP_KERNEL | __GFP_HIGHMEM,
PAGE_KERNEL_EXEC);
}
#endif
/* Free memory returned from module_alloc */
void module_free(struct module *mod, void *module_region)