hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/arch/arm/crypto/blake2s-glue.c
....@@ -1,78 +1,7 @@
11 // SPDX-License-Identifier: GPL-2.0-or-later
2
-/*
3
- * BLAKE2s digest algorithm, ARM scalar implementation
4
- *
5
- * Copyright 2020 Google LLC
6
- */
72
83 #include <crypto/internal/blake2s.h>
9
-#include <crypto/internal/hash.h>
10
-
114 #include <linux/module.h>
125
136 /* defined in blake2s-core.S */
14
-EXPORT_SYMBOL(blake2s_compress_arch);
15
-
16
-static int crypto_blake2s_update_arm(struct shash_desc *desc,
17
- const u8 *in, unsigned int inlen)
18
-{
19
- return crypto_blake2s_update(desc, in, inlen, blake2s_compress_arch);
20
-}
21
-
22
-static int crypto_blake2s_final_arm(struct shash_desc *desc, u8 *out)
23
-{
24
- return crypto_blake2s_final(desc, out, blake2s_compress_arch);
25
-}
26
-
27
-#define BLAKE2S_ALG(name, driver_name, digest_size) \
28
- { \
29
- .base.cra_name = name, \
30
- .base.cra_driver_name = driver_name, \
31
- .base.cra_priority = 200, \
32
- .base.cra_flags = CRYPTO_ALG_OPTIONAL_KEY, \
33
- .base.cra_blocksize = BLAKE2S_BLOCK_SIZE, \
34
- .base.cra_ctxsize = sizeof(struct blake2s_tfm_ctx), \
35
- .base.cra_module = THIS_MODULE, \
36
- .digestsize = digest_size, \
37
- .setkey = crypto_blake2s_setkey, \
38
- .init = crypto_blake2s_init, \
39
- .update = crypto_blake2s_update_arm, \
40
- .final = crypto_blake2s_final_arm, \
41
- .descsize = sizeof(struct blake2s_state), \
42
- }
43
-
44
-static struct shash_alg blake2s_arm_algs[] = {
45
- BLAKE2S_ALG("blake2s-128", "blake2s-128-arm", BLAKE2S_128_HASH_SIZE),
46
- BLAKE2S_ALG("blake2s-160", "blake2s-160-arm", BLAKE2S_160_HASH_SIZE),
47
- BLAKE2S_ALG("blake2s-224", "blake2s-224-arm", BLAKE2S_224_HASH_SIZE),
48
- BLAKE2S_ALG("blake2s-256", "blake2s-256-arm", BLAKE2S_256_HASH_SIZE),
49
-};
50
-
51
-static int __init blake2s_arm_mod_init(void)
52
-{
53
- return IS_REACHABLE(CONFIG_CRYPTO_HASH) ?
54
- crypto_register_shashes(blake2s_arm_algs,
55
- ARRAY_SIZE(blake2s_arm_algs)) : 0;
56
-}
57
-
58
-static void __exit blake2s_arm_mod_exit(void)
59
-{
60
- if (IS_REACHABLE(CONFIG_CRYPTO_HASH))
61
- crypto_unregister_shashes(blake2s_arm_algs,
62
- ARRAY_SIZE(blake2s_arm_algs));
63
-}
64
-
65
-module_init(blake2s_arm_mod_init);
66
-module_exit(blake2s_arm_mod_exit);
67
-
68
-MODULE_DESCRIPTION("BLAKE2s digest algorithm, ARM scalar implementation");
69
-MODULE_LICENSE("GPL");
70
-MODULE_AUTHOR("Eric Biggers <ebiggers@google.com>");
71
-MODULE_ALIAS_CRYPTO("blake2s-128");
72
-MODULE_ALIAS_CRYPTO("blake2s-128-arm");
73
-MODULE_ALIAS_CRYPTO("blake2s-160");
74
-MODULE_ALIAS_CRYPTO("blake2s-160-arm");
75
-MODULE_ALIAS_CRYPTO("blake2s-224");
76
-MODULE_ALIAS_CRYPTO("blake2s-224-arm");
77
-MODULE_ALIAS_CRYPTO("blake2s-256");
78
-MODULE_ALIAS_CRYPTO("blake2s-256-arm");
7
+EXPORT_SYMBOL(blake2s_compress);