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>
This commit is contained in:
Sasha Levin 2013-01-03 11:09:53 +10:30 committed by Rusty Russell
parent f4953fe6c4
commit 52441fa8f2
1 changed files with 7 additions and 0 deletions

View File

@ -2527,6 +2527,13 @@ static int copy_module_from_fd(int fd, struct load_info *info)
err = -EFBIG; err = -EFBIG;
goto out; goto out;
} }
/* Don't hand 0 to vmalloc, it whines. */
if (stat.size == 0) {
err = -EINVAL;
goto out;
}
info->hdr = vmalloc(stat.size); info->hdr = vmalloc(stat.size);
if (!info->hdr) { if (!info->hdr) {
err = -ENOMEM; err = -ENOMEM;