diff options
Diffstat (limited to 'arch/x86/kernel/module.c')
| -rw-r--r-- | arch/x86/kernel/module.c | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c index 169fb6f4cd2e..95fa745e310a 100644 --- a/arch/x86/kernel/module.c +++ b/arch/x86/kernel/module.c @@ -67,6 +67,7 @@ static unsigned long int get_module_load_offset(void)  void *module_alloc(unsigned long size)  { +	gfp_t gfp_mask = GFP_KERNEL;  	void *p;  	if (PAGE_ALIGN(size) > MODULES_LEN) @@ -74,10 +75,10 @@ void *module_alloc(unsigned long size)  	p = __vmalloc_node_range(size, MODULE_ALIGN,  				    MODULES_VADDR + get_module_load_offset(), -				    MODULES_END, GFP_KERNEL, -				    PAGE_KERNEL, 0, NUMA_NO_NODE, +				    MODULES_END, gfp_mask, +				    PAGE_KERNEL, VM_DEFER_KMEMLEAK, NUMA_NO_NODE,  				    __builtin_return_address(0)); -	if (p && (kasan_module_alloc(p, size) < 0)) { +	if (p && (kasan_module_alloc(p, size, gfp_mask) < 0)) {  		vfree(p);  		return NULL;  	} |