Re: [PATCH 3/4] kmod: Return directly if module name is empty in request_module()

From: Luis Chamberlain
Date: Sat Apr 18 2020 - 01:45:45 EST


On Sat, Apr 18, 2020 at 01:19:59PM +0800, Tiezhu Yang wrote:
> If module name is empty, it is better to return directly at the beginning
> of request_module() without doing the needless call_modprobe() operation.
>
> Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
> ---
> kernel/kmod.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/kernel/kmod.c b/kernel/kmod.c
> index 3cd075c..5851444 100644
> --- a/kernel/kmod.c
> +++ b/kernel/kmod.c
> @@ -28,6 +28,8 @@
>
> #include <trace/events/module.h>
>
> +#define MODULE_NOT_FOUND 256
> +
> /*
> * Assuming:
> *
> @@ -144,6 +146,9 @@ int __request_module(bool wait, const char *fmt, ...)
> if (ret >= MODULE_NAME_LEN)
> return -ENAMETOOLONG;
>
> + if (strlen(module_name) == 0)
> + return MODULE_NOT_FOUND;

I'd rather we just use something standard like -EINVAL.
What do we return if its not found? Then use that value.

> +
> ret = security_kernel_module_request(module_name);
> if (ret)
> return ret;
> --
> 2.1.0
>