mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
crypto: x86 - eliminate anonymous module_init & module_exit
Eliminate anonymous module_init() and module_exit(), which can lead to confusion or ambiguity when reading System.map, crashes/oops/bugs, or an initcall_debug log. Give each of these init and exit functions unique driver-specific names to eliminate the anonymous names. Example 1: (System.map) ffffffff832fc78c t init ffffffff832fc79e t init ffffffff832fc8f8 t init Example 2: (initcall_debug log) calling init+0x0/0x12 @ 1 initcall init+0x0/0x12 returned 0 after 15 usecs calling init+0x0/0x60 @ 1 initcall init+0x0/0x60 returned 0 after 2 usecs calling init+0x0/0x9a @ 1 initcall init+0x0/0x9a returned 0 after 74 usecs Fixes:64b94ceae8
("crypto: blowfish - add x86_64 assembly implementation") Fixes:676a38046f
("crypto: camellia-x86_64 - module init/exit functions should be static") Fixes:0b95ec56ae
("crypto: camellia - add assembler implementation for x86_64") Fixes:56d76c96a9
("crypto: serpent - add AVX2/x86_64 assembler implementation of serpent cipher") Fixes:b9f535ffe3
("[CRYPTO] twofish: i586 assembly version") Fixes:ff0a70fe05
("crypto: twofish-x86_64-3way - module init/exit functions should be static") Fixes:8280daad43
("crypto: twofish - add 3-way parallel x86_64 assembler implemention") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Cc: Joachim Fritschi <jfritschi@freenet.de> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "David S. Miller" <davem@davemloft.net> Cc: linux-crypto@vger.kernel.org Cc: x86@kernel.org Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
4cda2f4a0e
commit
f16a005cde
@ -303,7 +303,7 @@ static int force;
|
||||
module_param(force, int, 0);
|
||||
MODULE_PARM_DESC(force, "Force module load, ignore CPU blacklist");
|
||||
|
||||
static int __init init(void)
|
||||
static int __init blowfish_init(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
@ -327,15 +327,15 @@ static int __init init(void)
|
||||
return err;
|
||||
}
|
||||
|
||||
static void __exit fini(void)
|
||||
static void __exit blowfish_fini(void)
|
||||
{
|
||||
crypto_unregister_alg(&bf_cipher_alg);
|
||||
crypto_unregister_skciphers(bf_skcipher_algs,
|
||||
ARRAY_SIZE(bf_skcipher_algs));
|
||||
}
|
||||
|
||||
module_init(init);
|
||||
module_exit(fini);
|
||||
module_init(blowfish_init);
|
||||
module_exit(blowfish_fini);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("Blowfish Cipher Algorithm, asm optimized");
|
||||
|
@ -1377,7 +1377,7 @@ static int force;
|
||||
module_param(force, int, 0);
|
||||
MODULE_PARM_DESC(force, "Force module load, ignore CPU blacklist");
|
||||
|
||||
static int __init init(void)
|
||||
static int __init camellia_init(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
@ -1401,15 +1401,15 @@ static int __init init(void)
|
||||
return err;
|
||||
}
|
||||
|
||||
static void __exit fini(void)
|
||||
static void __exit camellia_fini(void)
|
||||
{
|
||||
crypto_unregister_alg(&camellia_cipher_alg);
|
||||
crypto_unregister_skciphers(camellia_skcipher_algs,
|
||||
ARRAY_SIZE(camellia_skcipher_algs));
|
||||
}
|
||||
|
||||
module_init(init);
|
||||
module_exit(fini);
|
||||
module_init(camellia_init);
|
||||
module_exit(camellia_fini);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("Camellia Cipher Algorithm, asm optimized");
|
||||
|
@ -96,7 +96,7 @@ static struct skcipher_alg serpent_algs[] = {
|
||||
|
||||
static struct simd_skcipher_alg *serpent_simd_algs[ARRAY_SIZE(serpent_algs)];
|
||||
|
||||
static int __init init(void)
|
||||
static int __init serpent_avx2_init(void)
|
||||
{
|
||||
const char *feature_name;
|
||||
|
||||
@ -115,14 +115,14 @@ static int __init init(void)
|
||||
serpent_simd_algs);
|
||||
}
|
||||
|
||||
static void __exit fini(void)
|
||||
static void __exit serpent_avx2_fini(void)
|
||||
{
|
||||
simd_unregister_skciphers(serpent_algs, ARRAY_SIZE(serpent_algs),
|
||||
serpent_simd_algs);
|
||||
}
|
||||
|
||||
module_init(init);
|
||||
module_exit(fini);
|
||||
module_init(serpent_avx2_init);
|
||||
module_exit(serpent_avx2_fini);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("Serpent Cipher Algorithm, AVX2 optimized");
|
||||
|
@ -81,18 +81,18 @@ static struct crypto_alg alg = {
|
||||
}
|
||||
};
|
||||
|
||||
static int __init init(void)
|
||||
static int __init twofish_glue_init(void)
|
||||
{
|
||||
return crypto_register_alg(&alg);
|
||||
}
|
||||
|
||||
static void __exit fini(void)
|
||||
static void __exit twofish_glue_fini(void)
|
||||
{
|
||||
crypto_unregister_alg(&alg);
|
||||
}
|
||||
|
||||
module_init(init);
|
||||
module_exit(fini);
|
||||
module_init(twofish_glue_init);
|
||||
module_exit(twofish_glue_fini);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION ("Twofish Cipher Algorithm, asm optimized");
|
||||
|
@ -140,7 +140,7 @@ static int force;
|
||||
module_param(force, int, 0);
|
||||
MODULE_PARM_DESC(force, "Force module load, ignore CPU blacklist");
|
||||
|
||||
static int __init init(void)
|
||||
static int __init twofish_3way_init(void)
|
||||
{
|
||||
if (!force && is_blacklisted_cpu()) {
|
||||
printk(KERN_INFO
|
||||
@ -154,13 +154,13 @@ static int __init init(void)
|
||||
ARRAY_SIZE(tf_skciphers));
|
||||
}
|
||||
|
||||
static void __exit fini(void)
|
||||
static void __exit twofish_3way_fini(void)
|
||||
{
|
||||
crypto_unregister_skciphers(tf_skciphers, ARRAY_SIZE(tf_skciphers));
|
||||
}
|
||||
|
||||
module_init(init);
|
||||
module_exit(fini);
|
||||
module_init(twofish_3way_init);
|
||||
module_exit(twofish_3way_fini);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("Twofish Cipher Algorithm, 3-way parallel asm optimized");
|
||||
|
Loading…
Reference in New Issue
Block a user