Thread (16 messages) 16 messages, 3 authors, 2017-06-10

Re: [PATCH v2 01/11] crypto: introduce crypto wait for async op

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2017-06-10 03:44:56
Also in: dm-devel, keyrings, linux-cifs, linux-crypto, linux-fscrypt, linux-security-module, lkml

On Mon, May 29, 2017 at 11:22:48AM +0300, Gilad Ben-Yossef wrote:
+static inline int crypto_wait_req(int err, struct crypto_wait *wait)
+{
+	switch (err) {
+	case -EINPROGRESS:
+	case -EBUSY:
+		wait_for_completion(&wait->completion);
+		reinit_completion(&wait->completion);
+		err = wait->err;
+		break;
+	};
+
+	return err;
+}
This assumes that the request is used with backlog.  For non-backlog
requests this would result in a memory leak as EBUSY in that case is
a fatal error.

So this API can't be used without backlog.

We could introduce a flag to indicate whether we want backlog or not,
or maybe we should change our API so that in the non-backlog case we
return something other than EBUSY.

Opinions?

Thanks,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help