* [PATCH] arch/unicore32/kernel/module.c: use __vmalloc_node_range() instead of __vmalloc_area()
@ 2014-03-14 0:49 Chen Gang
2014-03-22 7:18 ` 回复: " 管雪涛
0 siblings, 1 reply; 2+ messages in thread
From: Chen Gang @ 2014-03-14 0:49 UTC (permalink / raw)
To: gxt; +Cc: linux-kernel
__vmalloc_area() has already been removed from upstream kernel, need
use __vmalloc_node_range() instead of.
The related commit: "d0a2126 mm: unify module_alloc code for vmalloc".
The related error (allmodconfig for unicore32):
CC arch/unicore32/kernel/module.o
arch/unicore32/kernel/module.c: In function ‘module_alloc’:
arch/unicore32/kernel/module.c:34: error: implicit declaration of function ‘__vmalloc_area’
arch/unicore32/kernel/module.c:34: warning: return makes pointer from integer without a cast
make[1]: *** [arch/unicore32/kernel/module.o] Error 1
make: *** [arch/unicore32/kernel] Error 2
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
arch/unicore32/kernel/module.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/arch/unicore32/kernel/module.c b/arch/unicore32/kernel/module.c
index 16bd149..dc41f6d 100644
--- a/arch/unicore32/kernel/module.c
+++ b/arch/unicore32/kernel/module.c
@@ -24,14 +24,9 @@
void *module_alloc(unsigned long size)
{
- struct vm_struct *area;
-
- size = PAGE_ALIGN(size);
- area = __get_vm_area(size, VM_ALLOC, MODULES_VADDR, MODULES_END);
- if (!area)
- return NULL;
-
- return __vmalloc_area(area, GFP_KERNEL, PAGE_KERNEL_EXEC);
+ return __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END,
+ GFP_KERNEL, PAGE_KERNEL_EXEC, NUMA_NO_NODE,
+ __builtin_return_address(0));
}
int
--
1.7.9.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* 回复: [PATCH] arch/unicore32/kernel/module.c: use __vmalloc_node_range() instead of __vmalloc_area()
2014-03-14 0:49 [PATCH] arch/unicore32/kernel/module.c: use __vmalloc_node_range() instead of __vmalloc_area() Chen Gang
@ 2014-03-22 7:18 ` 管雪涛
0 siblings, 0 replies; 2+ messages in thread
From: 管雪涛 @ 2014-03-22 7:18 UTC (permalink / raw)
To: Chen Gang; +Cc: gxt, linux-kernel
Thanks Chen.
Cc: Zhichuang Sun <sunzhichuang@mprc.pku.edu.cn>
Tested-by: Zhichuang Sun <sunzhichuang@mprc.pku.edu.cn>
Acked-by: Xuetao Guan <gxt@pku.edu.cn>
----- Chen Gang <gang.chen.5i5j@gmail.com> 写道:
> __vmalloc_area() has already been removed from upstream kernel, need
> use __vmalloc_node_range() instead of.
>
> The related commit: "d0a2126 mm: unify module_alloc code for vmalloc".
>
> The related error (allmodconfig for unicore32):
>
> CC arch/unicore32/kernel/module.o
> arch/unicore32/kernel/module.c: In function ‘module_alloc’:
> arch/unicore32/kernel/module.c:34: error: implicit declaration of function ‘__vmalloc_area’
> arch/unicore32/kernel/module.c:34: warning: return makes pointer from integer without a cast
> make[1]: *** [arch/unicore32/kernel/module.o] Error 1
> make: *** [arch/unicore32/kernel] Error 2
>
>
> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
> ---
> arch/unicore32/kernel/module.c | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/arch/unicore32/kernel/module.c b/arch/unicore32/kernel/module.c
> index 16bd149..dc41f6d 100644
> --- a/arch/unicore32/kernel/module.c
> +++ b/arch/unicore32/kernel/module.c
> @@ -24,14 +24,9 @@
>
> void *module_alloc(unsigned long size)
> {
> - struct vm_struct *area;
> -
> - size = PAGE_ALIGN(size);
> - area = __get_vm_area(size, VM_ALLOC, MODULES_VADDR, MODULES_END);
> - if (!area)
> - return NULL;
> -
> - return __vmalloc_area(area, GFP_KERNEL, PAGE_KERNEL_EXEC);
> + return __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END,
> + GFP_KERNEL, PAGE_KERNEL_EXEC, NUMA_NO_NODE,
> + __builtin_return_address(0));
> }
>
> int
> --
> 1.7.9.5
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-03-22 7:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-14 0:49 [PATCH] arch/unicore32/kernel/module.c: use __vmalloc_node_range() instead of __vmalloc_area() Chen Gang
2014-03-22 7:18 ` 回复: " 管雪涛
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.