aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>2015-03-23 22:01:40 -0400
committerRusty Russell <rusty@rustcorp.com.au>2015-03-23 22:02:37 -0400
commitcc9e605dc6cb2e32fedae4ac2f61ad3b5f8d623d (patch)
treecdc55e6352c7cb5766f3784ef867165ad5dc7737 /kernel/module.c
parent7b63c3ab9b10b8a9cdc6b3a9e0e3d6a8a5d28970 (diff)
module: do not print allocation-fail warning on bogus user buffer size
init_module(2) passes user-specified buffer length directly to vmalloc(). It makes warn_alloc_failed() to print out a lot of info into dmesg if user specified insane size, like -1. Let's silence the warning. It doesn't add much value to -ENOMEM return code. Without the patch the syscall is prohibitive noisy for testing with trinity. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Dave Jones <davej@codemonkey.org.uk> Cc: Sasha Levin <sasha.levin@oracle.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 3ab942f78760..65bd206e04a9 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2494,7 +2494,8 @@ static int copy_module_from_user(const void __user *umod, unsigned long len,
2494 return err; 2494 return err;
2495 2495
2496 /* Suck in entire file: we'll want most of it. */ 2496 /* Suck in entire file: we'll want most of it. */
2497 info->hdr = vmalloc(info->len); 2497 info->hdr = __vmalloc(info->len,
2498 GFP_KERNEL | __GFP_HIGHMEM | __GFP_NOWARN, PAGE_KERNEL);
2498 if (!info->hdr) 2499 if (!info->hdr)
2499 return -ENOMEM; 2500 return -ENOMEM;
2500 2501