diff options
author | Sasha Levin <sasha.levin@oracle.com> | 2013-01-02 19:39:53 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2013-01-02 19:40:32 -0500 |
commit | 52441fa8f2f1ccc9fa97607c6ccf8b46b9fd15ae (patch) | |
tree | 5a5d4536de0898ed4ae4a012979e0ce17fdfb2ff /kernel/module.c | |
parent | f4953fe6c4aeada2d5cafd78aa97587a46d2d8f9 (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.c | 7 |
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; |