diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-12-07 07:18:17 -0500 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-01-10 16:16:40 -0500 |
commit | 68b6c7d6919be7c732fc6229c55e35d0166e9258 (patch) | |
tree | 137eabe7eaf127c2f1460490733dee415aa7b339 /crypto | |
parent | 551a09a7a954f720067f207657bbbd26a3fe156a (diff) |
[CRYPTO] api: Add crypto_attr_alg_name
This patch adds a new helper crypto_attr_alg_name which is basically the
first half of crypto_attr_alg. That is, it returns an algorithm name
parameter as a string without looking it up. The caller can then look it
up immediately or defer it until later.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/algapi.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/crypto/algapi.c b/crypto/algapi.c index 08eca6da1d53..e65cb50cf4af 100644 --- a/crypto/algapi.c +++ b/crypto/algapi.c | |||
@@ -472,7 +472,7 @@ int crypto_check_attr_type(struct rtattr **tb, u32 type) | |||
472 | } | 472 | } |
473 | EXPORT_SYMBOL_GPL(crypto_check_attr_type); | 473 | EXPORT_SYMBOL_GPL(crypto_check_attr_type); |
474 | 474 | ||
475 | struct crypto_alg *crypto_attr_alg(struct rtattr *rta, u32 type, u32 mask) | 475 | const char *crypto_attr_alg_name(struct rtattr *rta) |
476 | { | 476 | { |
477 | struct crypto_attr_alg *alga; | 477 | struct crypto_attr_alg *alga; |
478 | 478 | ||
@@ -486,7 +486,21 @@ struct crypto_alg *crypto_attr_alg(struct rtattr *rta, u32 type, u32 mask) | |||
486 | alga = RTA_DATA(rta); | 486 | alga = RTA_DATA(rta); |
487 | alga->name[CRYPTO_MAX_ALG_NAME - 1] = 0; | 487 | alga->name[CRYPTO_MAX_ALG_NAME - 1] = 0; |
488 | 488 | ||
489 | return crypto_alg_mod_lookup(alga->name, type, mask); | 489 | return alga->name; |
490 | } | ||
491 | EXPORT_SYMBOL_GPL(crypto_attr_alg_name); | ||
492 | |||
493 | struct crypto_alg *crypto_attr_alg(struct rtattr *rta, u32 type, u32 mask) | ||
494 | { | ||
495 | const char *name; | ||
496 | int err; | ||
497 | |||
498 | name = crypto_attr_alg_name(rta); | ||
499 | err = PTR_ERR(name); | ||
500 | if (IS_ERR(name)) | ||
501 | return ERR_PTR(err); | ||
502 | |||
503 | return crypto_alg_mod_lookup(name, type, mask); | ||
490 | } | 504 | } |
491 | EXPORT_SYMBOL_GPL(crypto_attr_alg); | 505 | EXPORT_SYMBOL_GPL(crypto_attr_alg); |
492 | 506 | ||