diff options
author | Longpeng(Mike) <longpeng2@huawei.com> | 2017-07-14 14:04:07 -0400 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2017-07-19 10:11:05 +0100 |
commit | 9a0597734876682480851376a98202a84073b715 (patch) | |
tree | c79b9ef8d383d905f1f298ec9cc72c567e7a5d16 /crypto/hash.c | |
parent | 25c60df32b9aad71a86cbb3aeaed60bf7567918a (diff) |
crypto: hash: add afalg-backend hash support
Adds afalg-backend hash support: introduces some private APIs
firstly, and then intergrates them into qcrypto_hash_afalg_driver.
Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'crypto/hash.c')
-rw-r--r-- | crypto/hash.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/crypto/hash.c b/crypto/hash.c index c43fd874fa..ac59c63d5f 100644 --- a/crypto/hash.c +++ b/crypto/hash.c @@ -46,6 +46,23 @@ int qcrypto_hash_bytesv(QCryptoHashAlgorithm alg, size_t *resultlen, Error **errp) { +#ifdef CONFIG_AF_ALG + int ret; + + ret = qcrypto_hash_afalg_driver.hash_bytesv(alg, iov, niov, + result, resultlen, + errp); + if (ret == 0) { + return ret; + } + + /* + * TODO: + * Maybe we should treat some afalg errors as fatal + */ + error_free(*errp); +#endif + return qcrypto_hash_lib_driver.hash_bytesv(alg, iov, niov, result, resultlen, errp); |