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

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


On Fri, Apr 17, 2020 at 11:45 PM Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote:
>
> 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.

Also, are we testing for this condition yet? If not can we add one?