Commit 38f90173 authored by Kees Cook's avatar Kees Cook Committed by Greg Kroah-Hartman
Browse files

module: Call security_kernel_post_load_data()



Now that there is an API for checking loaded contents for modules
loaded without a file, call into the LSM hooks.

Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Reviewed-by: default avatarKP Singh <kpsingh@google.com>
Acked-by: default avatarJessica Yu <jeyu@kernel.org>
Link: https://lore.kernel.org/r/20201002173828.2099543-11-keescook@chromium.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4f2d99b0
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -3014,7 +3014,7 @@ static int copy_module_from_user(const void __user *umod, unsigned long len,
	if (info->len < sizeof(*(info->hdr)))
		return -ENOEXEC;

	err = security_kernel_load_data(LOADING_MODULE, false);
	err = security_kernel_load_data(LOADING_MODULE, true);
	if (err)
		return err;

@@ -3024,11 +3024,17 @@ static int copy_module_from_user(const void __user *umod, unsigned long len,
		return -ENOMEM;

	if (copy_chunked_from_user(info->hdr, umod, info->len) != 0) {
		vfree(info->hdr);
		return -EFAULT;
		err = -EFAULT;
		goto out;
	}

	return 0;
	err = security_kernel_post_load_data((char *)info->hdr, info->len,
					     LOADING_MODULE, "init_module");
out:
	if (err)
		vfree(info->hdr);

	return err;
}

static void free_copy(struct load_info *info)