diff options
Diffstat (limited to 'crypto/api.c')
| -rw-r--r-- | crypto/api.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/crypto/api.c b/crypto/api.c index f55856b21992..0b583d24f7fa 100644 --- a/crypto/api.c +++ b/crypto/api.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
| 17 | #include <linux/crypto.h> | 17 | #include <linux/crypto.h> |
| 18 | #include <linux/errno.h> | 18 | #include <linux/errno.h> |
| 19 | #include <linux/kmod.h> | ||
| 19 | #include <linux/rwsem.h> | 20 | #include <linux/rwsem.h> |
| 20 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
| 21 | #include "internal.h" | 22 | #include "internal.h" |
| @@ -33,7 +34,7 @@ static inline void crypto_alg_put(struct crypto_alg *alg) | |||
| 33 | module_put(alg->cra_module); | 34 | module_put(alg->cra_module); |
| 34 | } | 35 | } |
| 35 | 36 | ||
| 36 | struct crypto_alg *crypto_alg_lookup(const char *name) | 37 | static struct crypto_alg *crypto_alg_lookup(const char *name) |
| 37 | { | 38 | { |
| 38 | struct crypto_alg *q, *alg = NULL; | 39 | struct crypto_alg *q, *alg = NULL; |
| 39 | 40 | ||
| @@ -54,6 +55,13 @@ struct crypto_alg *crypto_alg_lookup(const char *name) | |||
| 54 | return alg; | 55 | return alg; |
| 55 | } | 56 | } |
| 56 | 57 | ||
| 58 | /* A far more intelligent version of this is planned. For now, just | ||
| 59 | * try an exact match on the name of the algorithm. */ | ||
| 60 | static inline struct crypto_alg *crypto_alg_mod_lookup(const char *name) | ||
| 61 | { | ||
| 62 | return try_then_request_module(crypto_alg_lookup(name), name); | ||
| 63 | } | ||
| 64 | |||
| 57 | static int crypto_init_flags(struct crypto_tfm *tfm, u32 flags) | 65 | static int crypto_init_flags(struct crypto_tfm *tfm, u32 flags) |
| 58 | { | 66 | { |
| 59 | tfm->crt_flags = 0; | 67 | tfm->crt_flags = 0; |
