Message ID | 20201109083143.2884-2-ardb@kernel.org (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Herbert Xu |
Headers | show |
Series | crypto: tcrypt enhancements | expand |
On Mon, Nov 09, 2020 at 09:31:41AM +0100, Ard Biesheuvel wrote: > Commit c4741b2305979 ("crypto: run initcalls for generic implementations > earlier") converted tcrypt.ko's module_init() to subsys_initcall(), but > this was unintentional: tcrypt.ko currently cannot be built into the core > kernel, and so the subsys_initcall() gets converted into module_init() > under the hood. Given that tcrypt.ko does not implement a generic version > of a crypto algorithm that has to be available early during boot, there > is no point in running the tcrypt init code earlier than implied by > module_init(). > > However, for crypto development purposes, we will lift the restriction > that tcrypt.ko must be built as a module, and when builtin, it makes sense > for tcrypt.ko (which does its work inside the module init function) to run > as late as possible. So let's switch to late_initcall() instead. > > Signed-off-by: Ard Biesheuvel <ardb@kernel.org> > --- > crypto/tcrypt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c > index eea0f453cfb6..fc1f3e516694 100644 > --- a/crypto/tcrypt.c > +++ b/crypto/tcrypt.c > @@ -3066,7 +3066,7 @@ static int __init tcrypt_mod_init(void) > */ > static void __exit tcrypt_mod_fini(void) { } > > -subsys_initcall(tcrypt_mod_init); > +late_initcall(tcrypt_mod_init); > module_exit(tcrypt_mod_fini); > > module_param(alg, charp, 0); > -- Reviewed-by: Eric Biggers <ebiggers@google.com>
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c index eea0f453cfb6..fc1f3e516694 100644 --- a/crypto/tcrypt.c +++ b/crypto/tcrypt.c @@ -3066,7 +3066,7 @@ static int __init tcrypt_mod_init(void) */ static void __exit tcrypt_mod_fini(void) { } -subsys_initcall(tcrypt_mod_init); +late_initcall(tcrypt_mod_init); module_exit(tcrypt_mod_fini); module_param(alg, charp, 0);
Commit c4741b2305979 ("crypto: run initcalls for generic implementations earlier") converted tcrypt.ko's module_init() to subsys_initcall(), but this was unintentional: tcrypt.ko currently cannot be built into the core kernel, and so the subsys_initcall() gets converted into module_init() under the hood. Given that tcrypt.ko does not implement a generic version of a crypto algorithm that has to be available early during boot, there is no point in running the tcrypt init code earlier than implied by module_init(). However, for crypto development purposes, we will lift the restriction that tcrypt.ko must be built as a module, and when builtin, it makes sense for tcrypt.ko (which does its work inside the module init function) to run as late as possible. So let's switch to late_initcall() instead. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> --- crypto/tcrypt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)