|
@@ -40,8 +40,15 @@
|
|
|
#ifdef CONFIG_MMU
|
|
|
void *module_alloc(unsigned long size)
|
|
|
{
|
|
|
- void *p = __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END,
|
|
|
- GFP_KERNEL, PAGE_KERNEL_EXEC, 0, NUMA_NO_NODE,
|
|
|
+ gfp_t gfp_mask = GFP_KERNEL;
|
|
|
+ void *p;
|
|
|
+
|
|
|
+ /* Silence the initial allocation */
|
|
|
+ if (IS_ENABLED(CONFIG_ARM_MODULE_PLTS))
|
|
|
+ gfp_mask |= __GFP_NOWARN;
|
|
|
+
|
|
|
+ p = __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END,
|
|
|
+ gfp_mask, PAGE_KERNEL_EXEC, 0, NUMA_NO_NODE,
|
|
|
__builtin_return_address(0));
|
|
|
if (!IS_ENABLED(CONFIG_ARM_MODULE_PLTS) || p)
|
|
|
return p;
|