diff options
Diffstat (limited to 'arch/x86/kernel/module.c')
| -rw-r--r-- | arch/x86/kernel/module.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c index b92fbcf48609..894bb718a6fb 100644 --- a/arch/x86/kernel/module.c +++ b/arch/x86/kernel/module.c | |||
| @@ -34,14 +34,6 @@ | |||
| 34 | #define DEBUGP(fmt...) | 34 | #define DEBUGP(fmt...) |
| 35 | #endif | 35 | #endif |
| 36 | 36 | ||
| 37 | #if defined(CONFIG_UML) || defined(CONFIG_X86_32) | ||
| 38 | void *module_alloc(unsigned long size) | ||
| 39 | { | ||
| 40 | if (size == 0) | ||
| 41 | return NULL; | ||
| 42 | return vmalloc_exec(size); | ||
| 43 | } | ||
| 44 | #else /*X86_64*/ | ||
| 45 | void *module_alloc(unsigned long size) | 37 | void *module_alloc(unsigned long size) |
| 46 | { | 38 | { |
| 47 | struct vm_struct *area; | 39 | struct vm_struct *area; |
| @@ -56,9 +48,9 @@ void *module_alloc(unsigned long size) | |||
| 56 | if (!area) | 48 | if (!area) |
| 57 | return NULL; | 49 | return NULL; |
| 58 | 50 | ||
| 59 | return __vmalloc_area(area, GFP_KERNEL, PAGE_KERNEL_EXEC); | 51 | return __vmalloc_area(area, GFP_KERNEL | __GFP_HIGHMEM, |
| 52 | PAGE_KERNEL_EXEC); | ||
| 60 | } | 53 | } |
| 61 | #endif | ||
| 62 | 54 | ||
| 63 | /* Free memory returned from module_alloc */ | 55 | /* Free memory returned from module_alloc */ |
| 64 | void module_free(struct module *mod, void *module_region) | 56 | void module_free(struct module *mod, void *module_region) |
