aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
authorSasha Levin <sasha.levin@oracle.com>2013-01-02 19:39:53 -0500
committerRusty Russell <rusty@rustcorp.com.au>2013-01-02 19:40:32 -0500
commit52441fa8f2f1ccc9fa97607c6ccf8b46b9fd15ae (patch)
tree5a5d4536de0898ed4ae4a012979e0ce17fdfb2ff /kernel/module.c
parentf4953fe6c4aeada2d5cafd78aa97587a46d2d8f9 (diff)
module: prevent warning when finit_module a 0 sized file
If we try to finit_module on a file sized 0 bytes vmalloc will scream and spit out a warning. Since modules have to be bigger than 0 bytes anyways we can just check that beforehand and avoid the warning. Signed-off-by: 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.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 250092c1d57d..41bc1189b061 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2527,6 +2527,13 @@ static int copy_module_from_fd(int fd, struct load_info *info)
2527 err = -EFBIG; 2527 err = -EFBIG;
2528 goto out; 2528 goto out;
2529 } 2529 }
2530
2531 /* Don't hand 0 to vmalloc, it whines. */
2532 if (stat.size == 0) {
2533 err = -EINVAL;
2534 goto out;
2535 }
2536
2530 info->hdr = vmalloc(stat.size); 2537 info->hdr = vmalloc(stat.size);
2531 if (!info->hdr) { 2538 if (!info->hdr) {
2532 err = -ENOMEM; 2539 err = -ENOMEM;