diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2016-06-29 06:04:13 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-07-01 11:45:11 -0400 |
commit | 32f27c745c26ff4b6351bce265cba049a2c74de5 (patch) | |
tree | 71d517cfb123a327cdd92934612982cb46e3a180 /crypto/algapi.c | |
parent | 64e26807bb93b4accaa395d98e118ab893cac074 (diff) |
crypto: api - Add crypto_inst_setname
This patch adds the helper crypto_inst_setname because the current
helper crypto_alloc_instance2 is no longer useful given that we
now look up the algorithm after we allocate the instance object.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/algapi.c')
-rw-r--r-- | crypto/algapi.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/crypto/algapi.c b/crypto/algapi.c index 731255a6104f..df939b54b09f 100644 --- a/crypto/algapi.c +++ b/crypto/algapi.c | |||
@@ -811,6 +811,21 @@ int crypto_attr_u32(struct rtattr *rta, u32 *num) | |||
811 | } | 811 | } |
812 | EXPORT_SYMBOL_GPL(crypto_attr_u32); | 812 | EXPORT_SYMBOL_GPL(crypto_attr_u32); |
813 | 813 | ||
814 | int crypto_inst_setname(struct crypto_instance *inst, const char *name, | ||
815 | struct crypto_alg *alg) | ||
816 | { | ||
817 | if (snprintf(inst->alg.cra_name, CRYPTO_MAX_ALG_NAME, "%s(%s)", name, | ||
818 | alg->cra_name) >= CRYPTO_MAX_ALG_NAME) | ||
819 | return -ENAMETOOLONG; | ||
820 | |||
821 | if (snprintf(inst->alg.cra_driver_name, CRYPTO_MAX_ALG_NAME, "%s(%s)", | ||
822 | name, alg->cra_driver_name) >= CRYPTO_MAX_ALG_NAME) | ||
823 | return -ENAMETOOLONG; | ||
824 | |||
825 | return 0; | ||
826 | } | ||
827 | EXPORT_SYMBOL_GPL(crypto_inst_setname); | ||
828 | |||
814 | void *crypto_alloc_instance2(const char *name, struct crypto_alg *alg, | 829 | void *crypto_alloc_instance2(const char *name, struct crypto_alg *alg, |
815 | unsigned int head) | 830 | unsigned int head) |
816 | { | 831 | { |
@@ -825,13 +840,8 @@ void *crypto_alloc_instance2(const char *name, struct crypto_alg *alg, | |||
825 | 840 | ||
826 | inst = (void *)(p + head); | 841 | inst = (void *)(p + head); |
827 | 842 | ||
828 | err = -ENAMETOOLONG; | 843 | err = crypto_inst_setname(inst, name, alg); |
829 | if (snprintf(inst->alg.cra_name, CRYPTO_MAX_ALG_NAME, "%s(%s)", name, | 844 | if (err) |
830 | alg->cra_name) >= CRYPTO_MAX_ALG_NAME) | ||
831 | goto err_free_inst; | ||
832 | |||
833 | if (snprintf(inst->alg.cra_driver_name, CRYPTO_MAX_ALG_NAME, "%s(%s)", | ||
834 | name, alg->cra_driver_name) >= CRYPTO_MAX_ALG_NAME) | ||
835 | goto err_free_inst; | 845 | goto err_free_inst; |
836 | 846 | ||
837 | return p; | 847 | return p; |