From: Luis Chamberlain <mcgrof@kernel.org>
To: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Shuah Khan <shuah@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Jessica Yu <jeyu@kernel.org>,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org,
Markus Elfring <Markus.Elfring@web.de>,
Xuefeng Li <lixuefeng@loongson.cn>
Subject: Re: [PATCH v3 3/4] kmod: Return directly if module name is empty in request_module()
Date: Mon, 20 Apr 2020 18:19:31 +0000 [thread overview]
Message-ID: <20200420181931.GJ11244@42.do-not-panic.com> (raw)
In-Reply-To: <1587386035-5188-4-git-send-email-yangtiezhu@loongson.cn>
On Mon, Apr 20, 2020 at 08:33:54PM +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.
>
> Call trace:
>
> request_module()
> |
> |
> __request_module()
> |
> |
> call_modprobe()
> |
> |
> call_usermodehelper_exec() -- retval = sub_info->retval;
> |
> |
> call_usermodehelper_exec_work()
> |
> |
> call_usermodehelper_exec_sync() -- sub_info->retval = ret;
> |
> | --> call_usermodehelper_exec_async() --> do_execve()
> |
> kernel_wait4(pid, (int __user *)&ret, 0, NULL);
>
> sub_info->retval is 256 after call kernel_wait4(), the function
> call_usermodehelper_exec() returns sub_info->retval which is 256,
> then call_modprobe() and __request_module() returns 256.
>
> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Thanks for looking into this. I still cannot find where
userspace it returns 256. Can you? If I run modprobe without
an argument I see 1 returned.
At least kmod [0] has a series of cmd helper structs, the one for modprobe
seems to be kmod_cmd_compat_modprobe, and I can see -1 returned which
can be converted to 255. It can also return EXIT_FAILURE or EXIT_SUCCESS
and /usr/include/stdlib.h defines these as 1 and 0 respectively.
https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/
Luis
next prev parent reply other threads:[~2020-04-20 18:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-20 12:33 [PATCH v3 0/4] Fix some issues about kmod Tiezhu Yang
2020-04-20 12:33 ` [PATCH v3 1/4] selftests: kmod: Use variable NAME in kmod_test_0001() Tiezhu Yang
2020-04-20 12:33 ` [PATCH v3 2/4] kmod: Remove redundant "be an" in the comment Tiezhu Yang
2020-04-20 12:33 ` [PATCH v3 3/4] kmod: Return directly if module name is empty in request_module() Tiezhu Yang
2020-04-20 18:19 ` Luis Chamberlain [this message]
2020-04-21 3:07 ` Tiezhu Yang
2020-04-21 14:49 ` Jessica Yu
2020-04-22 8:31 ` Luis Chamberlain
2020-04-22 8:55 ` Tiezhu Yang
2020-04-22 9:01 ` Luis Chamberlain
2020-04-20 12:33 ` [PATCH v3 4/4] test_kmod: Avoid potential double free in trigger_config_run_type() Tiezhu Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200420181931.GJ11244@42.do-not-panic.com \
--to=mcgrof@kernel.org \
--cc=Markus.Elfring@web.de \
--cc=akpm@linux-foundation.org \
--cc=jeyu@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=lixuefeng@loongson.cn \
--cc=shuah@kernel.org \
--cc=yangtiezhu@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.