diff options
author | James Morris <james.l.morris@oracle.com> | 2017-09-24 22:41:55 -0700 |
---|---|---|
committer | James Morris <james.l.morris@oracle.com> | 2017-09-24 22:41:55 -0700 |
commit | fe6ec4634c4b41ea65f055ea709a6f3d5bf67bec (patch) | |
tree | 9ba289bdd8831b061743a8d48b13e6128306b8f1 /crypto/ahash.c | |
parent | f960b5ebd9ed09bc12e10c712bce82ab58ef0435 (diff) | |
parent | 508f8d23a372beae647185ce896a0c1109406b83 (diff) | |
download | linux-crypto-fe6ec4634c4b41ea65f055ea709a6f3d5bf67bec.tar.gz linux-crypto-fe6ec4634c4b41ea65f055ea709a6f3d5bf67bec.zip |
Merge tag 'v4.14-rc2' into next-general
Linux 4.14-rc2
Sync to v4.14-rc2 for security subsystem developers to track.
Diffstat (limited to 'crypto/ahash.c')
-rw-r--r-- | crypto/ahash.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/crypto/ahash.c b/crypto/ahash.c index 826cd7ab..5e8666e6 100644 --- a/crypto/ahash.c +++ b/crypto/ahash.c @@ -588,6 +588,35 @@ int crypto_unregister_ahash(struct ahash_alg *alg) } EXPORT_SYMBOL_GPL(crypto_unregister_ahash); +int crypto_register_ahashes(struct ahash_alg *algs, int count) +{ + int i, ret; + + for (i = 0; i < count; i++) { + ret = crypto_register_ahash(&algs[i]); + if (ret) + goto err; + } + + return 0; + +err: + for (--i; i >= 0; --i) + crypto_unregister_ahash(&algs[i]); + + return ret; +} +EXPORT_SYMBOL_GPL(crypto_register_ahashes); + +void crypto_unregister_ahashes(struct ahash_alg *algs, int count) +{ + int i; + + for (i = count - 1; i >= 0; --i) + crypto_unregister_ahash(&algs[i]); +} +EXPORT_SYMBOL_GPL(crypto_unregister_ahashes); + int ahash_register_instance(struct crypto_template *tmpl, struct ahash_instance *inst) { |