summaryrefslogtreecommitdiff
path: root/crypto/api.c
diff options
context:
space:
mode:
authorJames Morris <james.l.morris@oracle.com>2017-12-11 17:01:08 +1100
committerJames Morris <james.l.morris@oracle.com>2017-12-11 17:01:08 +1100
commit4a06f454768a7e11e8f10b900b450786546cbba1 (patch)
tree149f57c9ce794734883e326d63040b1381dc1a59 /crypto/api.c
parentfe6ec4634c4b41ea65f055ea709a6f3d5bf67bec (diff)
parent8dce1988dfaa3668372990f05ee2202d9d9521b5 (diff)
downloadlinux-crypto-4a06f454768a7e11e8f10b900b450786546cbba1.tar.gz
linux-crypto-4a06f454768a7e11e8f10b900b450786546cbba1.zip
Sync to v4.15-rc3 for security subsystem developers to work against.
Diffstat (limited to 'crypto/api.c')
-rw-r--r--crypto/api.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/crypto/api.c b/crypto/api.c
index 941cd4c6..2a2479d1 100644
--- a/crypto/api.c
+++ b/crypto/api.c
@@ -24,6 +24,7 @@
#include <linux/sched/signal.h>
#include <linux/slab.h>
#include <linux/string.h>
+#include <linux/completion.h>
#include "internal.h"
LIST_HEAD(crypto_alg_list);
@@ -595,5 +596,17 @@ int crypto_has_alg(const char *name, u32 type, u32 mask)
}
EXPORT_SYMBOL_GPL(crypto_has_alg);
+void crypto_req_done(struct crypto_async_request *req, int err)
+{
+ struct crypto_wait *wait = req->data;
+
+ if (err == -EINPROGRESS)
+ return;
+
+ wait->err = err;
+ complete(&wait->completion);
+}
+EXPORT_SYMBOL_GPL(crypto_req_done);
+
MODULE_DESCRIPTION("Cryptographic core API");
MODULE_LICENSE("GPL");