Message ID | 20201015110241.89676-1-tianjia.zhang@linux.alibaba.com |
---|---|
State | New |
Headers | show |
Series | crypto: ecrdsa - use subsys_initcall instead of module_init | expand |
On Thu, Oct 15, 2020 at 07:02:41PM +0800, Tianjia Zhang wrote: > All templates and generic algorithms have been registered in > subsys_initcall instead of module_init. The ecrdsa algorithm > happened to be missed. Here is a fix for it. That is true only if there are non-generic implementations of the algorithms, which is not the case here. Please explain the real reason why this is needed. Cheers, -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Hi Herbert, On 10/15/20 8:05 PM, Herbert Xu wrote: > On Thu, Oct 15, 2020 at 07:02:41PM +0800, Tianjia Zhang wrote: >> All templates and generic algorithms have been registered in >> subsys_initcall instead of module_init. The ecrdsa algorithm >> happened to be missed. Here is a fix for it. > > That is true only if there are non-generic implementations of > the algorithms, which is not the case here. Please explain the > real reason why this is needed. > > Cheers, > This is a generic algorithm, the author Vitaly Chikunov has also confirmed it, please consider this patch again. Thanks.
On Mon, Nov 30, 2020 at 10:21:56AM +0800, Tianjia Zhang wrote: > > > That is true only if there are non-generic implementations of > > the algorithms, which is not the case here. Please explain the > > real reason why this is needed. > > This is a generic algorithm, the author Vitaly Chikunov has also confirmed > it, please consider this patch again. As I said, the generic algorithm only needs to be loaded early *if* there are non-generic implementations. Cheers, -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
On 11/30/20 10:24 AM, Herbert Xu wrote: > On Mon, Nov 30, 2020 at 10:21:56AM +0800, Tianjia Zhang wrote: >> >>> That is true only if there are non-generic implementations of >>> the algorithms, which is not the case here. Please explain the >>> real reason why this is needed. >> >> This is a generic algorithm, the author Vitaly Chikunov has also confirmed >> it, please consider this patch again. > > As I said, the generic algorithm only needs to be loaded early *if* > there are non-generic implementations. > > Cheers, > For ecrdsa, there is no reason to advance the initialization to subsys_init, this is just to make code clean up to have algorithm initialization uniform with other implementations. It’s just that I think that in the commit c4741b230597 ("crypto: run initcalls for generic implementations earlier"), the modification to ecrdsa happened to be omitted, because from the point of commit time, it was submitted at the same time as the ecrdsa commits, and it may happen to be omitted for ecrdsa. Best regards, Tianjia
On Mon, 30 Nov 2020 at 07:58, Tianjia Zhang <tianjia.zhang@linux.alibaba.com> wrote: > > > > On 11/30/20 10:24 AM, Herbert Xu wrote: > > On Mon, Nov 30, 2020 at 10:21:56AM +0800, Tianjia Zhang wrote: > >> > >>> That is true only if there are non-generic implementations of > >>> the algorithms, which is not the case here. Please explain the > >>> real reason why this is needed. > >> > >> This is a generic algorithm, the author Vitaly Chikunov has also confirmed > >> it, please consider this patch again. > > > > As I said, the generic algorithm only needs to be loaded early *if* > > there are non-generic implementations. > > > > Cheers, > > > > For ecrdsa, there is no reason to advance the initialization to > subsys_init, this is just to make code clean up to have algorithm > initialization uniform with other implementations. > > It’s just that I think that in the commit c4741b230597 ("crypto: run > initcalls for generic implementations earlier"), the modification to > ecrdsa happened to be omitted, because from the point of commit time, it > was submitted at the same time as the ecrdsa commits, and it may happen > to be omitted for ecrdsa. > Whether or not it is a generic algorithm is irrelevant. What is relevant is whether any other implementations exist of the same algorithm, because in this case, the generic implementation must be available earlier, so that it can be used for testing the other implementation. This concern does not apply for ecrdsa, so this patch is unnecessary.
diff --git a/crypto/ecrdsa.c b/crypto/ecrdsa.c index 6a3fd09057d0..ca9a34356f80 100644 --- a/crypto/ecrdsa.c +++ b/crypto/ecrdsa.c @@ -288,7 +288,7 @@ static void __exit ecrdsa_mod_fini(void) crypto_unregister_akcipher(&ecrdsa_alg); } -module_init(ecrdsa_mod_init); +subsys_initcall(ecrdsa_mod_init); module_exit(ecrdsa_mod_fini); MODULE_LICENSE("GPL");
All templates and generic algorithms have been registered in subsys_initcall instead of module_init. The ecrdsa algorithm happened to be missed. Here is a fix for it. Cc: Vitaly Chikunov <vt@altlinux.org> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> --- crypto/ecrdsa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)