diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2020-07-31 17:03:50 +1000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-10-29 09:05:32 +0100 |
commit | f46af0e0896b23e896d0e80e510120bcb9e53ef6 (patch) | |
tree | cae287bae11bf430fa47bb0f16329977907411b8 /crypto | |
parent | ff0ad9d345469ee7bbcf892eccfb1d171b3a3c8e (diff) | |
download | linux-rt-f46af0e0896b23e896d0e80e510120bcb9e53ef6.tar.gz |
crypto: algif_aead - Do not set MAY_BACKLOG on the async path
commit cbdad1f246dd98e6c9c32a6e5212337f542aa7e0 upstream.
The async path cannot use MAY_BACKLOG because it is not meant to
block, which is what MAY_BACKLOG does. On the other hand, both
the sync and async paths can make use of MAY_SLEEP.
Fixes: 83094e5e9e49 ("crypto: af_alg - add async support to...")
Cc: <stable@vger.kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/algif_aead.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c index d38f098350f6..ba818a738f9a 100644 --- a/crypto/algif_aead.c +++ b/crypto/algif_aead.c @@ -455,7 +455,7 @@ static int aead_recvmsg_async(struct socket *sock, struct msghdr *msg, memcpy(areq->iv, ctx->iv, crypto_aead_ivsize(tfm)); aead_request_set_tfm(req, tfm); aead_request_set_ad(req, ctx->aead_assoclen); - aead_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG, + aead_request_set_callback(req, CRYPTO_TFM_REQ_MAY_SLEEP, aead_async_cb, req); used -= ctx->aead_assoclen; @@ -925,7 +925,7 @@ static int aead_accept_parent_nokey(void *private, struct sock *sk) ask->private = ctx; aead_request_set_tfm(&ctx->aead_req, aead); - aead_request_set_callback(&ctx->aead_req, CRYPTO_TFM_REQ_MAY_BACKLOG, + aead_request_set_callback(&ctx->aead_req, CRYPTO_TFM_REQ_MAY_SLEEP, af_alg_complete, &ctx->completion); sk->sk_destruct = aead_sock_destruct; |