Messages in this thread | | | Date | Thu, 28 May 2020 22:52:18 -0700 | From | Kees Cook <> | Subject | Re: [PATCH 2/4] lib: Make test_sysctl initialized as module |
| |
On Thu, May 28, 2020 at 11:52:16PM +0900, Masami Hiramatsu wrote: > test_sysctl.c is expected to be used as a module, but since > it does not use module_init(), it never be registered as > a module and not appeared under /sys/module/. > In the result, the selftests/sysctl/sysctl.sh always fails > to find the test module and is skipped. > > This makes test_sysctl.c initialized as a module by module_init() > and allow sysctl.sh to find the test module is loaded. > > Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> > --- > lib/test_sysctl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/test_sysctl.c b/lib/test_sysctl.c > index 566dad3f4196..ec4d0f03475d 100644 > --- a/lib/test_sysctl.c > +++ b/lib/test_sysctl.c > @@ -149,7 +149,7 @@ static int __init test_sysctl_init(void) > } > return 0; > } > -late_initcall(test_sysctl_init); > +module_init(test_sysctl_init);
This is the only part I think we need to double check. As a non-module, module_init() becomes device_initcall() not late_initcall().
I don't see any notes in the commit log for the original driver that mention why this needs to be late_initcall(), though, so I *think* it's safe. Luis?
-- Kees Cook
| |