aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2020-10-02 10:38:17 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-10-05 13:34:18 +0200
commitf7a4f689bca6072492626938aad6dd2f32c5bf97 (patch)
tree2618864649e84370218c4d47138964932fec067e /kernel/module.c
parentfs/kernel_read_file: Split into separate source file (diff)
downloadlinux-dev-f7a4f689bca6072492626938aad6dd2f32c5bf97.tar.xz
linux-dev-f7a4f689bca6072492626938aad6dd2f32c5bf97.zip
fs/kernel_read_file: Remove redundant size argument
In preparation for refactoring kernel_read_file*(), remove the redundant "size" argument which is not needed: it can be included in the return code, with callers adjusted. (VFS reads already cannot be larger than INT_MAX.) Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Mimi Zohar <zohar@linux.ibm.com> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org> Reviewed-by: James Morris <jamorris@linux.microsoft.com> Acked-by: Scott Branden <scott.branden@broadcom.com> Link: https://lore.kernel.org/r/20201002173828.2099543-6-keescook@chromium.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 4218abd272ee..9faa6322f17b 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -4035,7 +4035,6 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
{
struct load_info info = { };
- loff_t size;
void *hdr = NULL;
int err;
@@ -4049,12 +4048,12 @@ SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
|MODULE_INIT_IGNORE_VERMAGIC))
return -EINVAL;
- err = kernel_read_file_from_fd(fd, &hdr, &size, INT_MAX,
+ err = kernel_read_file_from_fd(fd, &hdr, INT_MAX,
READING_MODULE);
- if (err)
+ if (err < 0)
return err;
info.hdr = hdr;
- info.len = size;
+ info.len = err;
return load_module(&info, uargs, flags);
}