aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/internal.h
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2008-08-03 09:15:23 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2008-08-29 01:49:57 -0400
commit73d3864a4823abda19ebc4387b6ddcbf416e3a77 (patch)
tree2939754dc2532f412c34a974e5f22dde112c525d /crypto/internal.h
parentda7f033ddc9fdebb3223b0bf88a2a2ab5b797608 (diff)
crypto: api - Use test infrastructure
This patch makes use of the new testing infrastructure by requiring algorithms to pass a run-time test before they're made available to users. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/internal.h')
-rw-r--r--crypto/internal.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/crypto/internal.h b/crypto/internal.h
index 48cb70416d59..fc93743c5d3e 100644
--- a/crypto/internal.h
+++ b/crypto/internal.h
@@ -94,9 +94,11 @@ void crypto_exit_digest_ops(struct crypto_tfm *tfm);
94void crypto_exit_cipher_ops(struct crypto_tfm *tfm); 94void crypto_exit_cipher_ops(struct crypto_tfm *tfm);
95void crypto_exit_compress_ops(struct crypto_tfm *tfm); 95void crypto_exit_compress_ops(struct crypto_tfm *tfm);
96 96
97struct crypto_larval *crypto_larval_alloc(const char *name, u32 type, u32 mask);
97void crypto_larval_kill(struct crypto_alg *alg); 98void crypto_larval_kill(struct crypto_alg *alg);
98struct crypto_alg *crypto_larval_lookup(const char *name, u32 type, u32 mask); 99struct crypto_alg *crypto_larval_lookup(const char *name, u32 type, u32 mask);
99void crypto_larval_error(const char *name, u32 type, u32 mask); 100void crypto_larval_error(const char *name, u32 type, u32 mask);
101void crypto_alg_tested(const char *name, int err);
100 102
101void crypto_shoot_alg(struct crypto_alg *alg); 103void crypto_shoot_alg(struct crypto_alg *alg);
102struct crypto_tfm *__crypto_alloc_tfm(struct crypto_alg *alg, u32 type, 104struct crypto_tfm *__crypto_alloc_tfm(struct crypto_alg *alg, u32 type,
@@ -107,6 +109,7 @@ int crypto_register_instance(struct crypto_template *tmpl,
107 109
108int crypto_register_notifier(struct notifier_block *nb); 110int crypto_register_notifier(struct notifier_block *nb);
109int crypto_unregister_notifier(struct notifier_block *nb); 111int crypto_unregister_notifier(struct notifier_block *nb);
112int crypto_probing_notify(unsigned long val, void *v);
110 113
111int __init testmgr_init(void); 114int __init testmgr_init(void);
112void testmgr_exit(void); 115void testmgr_exit(void);
@@ -142,9 +145,9 @@ static inline int crypto_is_moribund(struct crypto_alg *alg)
142 return alg->cra_flags & (CRYPTO_ALG_DEAD | CRYPTO_ALG_DYING); 145 return alg->cra_flags & (CRYPTO_ALG_DEAD | CRYPTO_ALG_DYING);
143} 146}
144 147
145static inline int crypto_notify(unsigned long val, void *v) 148static inline void crypto_notify(unsigned long val, void *v)
146{ 149{
147 return blocking_notifier_call_chain(&crypto_chain, val, v); 150 blocking_notifier_call_chain(&crypto_chain, val, v);
148} 151}
149 152
150#endif /* _CRYPTO_INTERNAL_H */ 153#endif /* _CRYPTO_INTERNAL_H */