Messages in this thread | | | Subject | Re: [PATCH 3/4] kmod: Return directly if module name is empty in request_module() | From | Tiezhu Yang <> | Date | Sat, 18 Apr 2020 13:58:45 +0800 |
| |
On 04/18/2020 01:48 PM, Luis Chamberlain wrote: > On Fri, Apr 17, 2020 at 11:45 PM Luis Chamberlain <mcgrof@kernel.org> 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@loongson.cn> >>> --- >>> 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?
Yes, kmod_test_0001_driver() in tools/testing/selftests/kmod/kmod.sh tests this case and expects result MODULE_NOT_FOUND which is 256.
| |