From: Ignat Korchagin <ig...@cloudflare.com>

commit 004b8ae9e2de55ca7857ba8471209dd3179e088c upstream.

In commit d68b29584c25 ("dm crypt: use GFP_ATOMIC when allocating
crypto requests from softirq") code was incorrectly copy and pasted
from crypt_alloc_req_skcipher()'s crypto request allocation code to
crypt_alloc_req_aead(). It is OK from runtime perspective as both
simple encryption request pointer and AEAD request pointer are part of
a union, but may confuse code reviewers.

Fixes: d68b29584c25 ("dm crypt: use GFP_ATOMIC when allocating crypto requests 
from softirq")
Cc: sta...@vger.kernel.org # v5.9+
Reported-by: Pavel Machek <pa...@denx.de>
Signed-off-by: Ignat Korchagin <ig...@cloudflare.com>
Signed-off-by: Mike Snitzer <snit...@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/md/dm-crypt.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -1481,9 +1481,9 @@ static int crypt_alloc_req_skcipher(stru
 static int crypt_alloc_req_aead(struct crypt_config *cc,
                                 struct convert_context *ctx)
 {
-       if (!ctx->r.req) {
-               ctx->r.req = mempool_alloc(&cc->req_pool, in_interrupt() ? 
GFP_ATOMIC : GFP_NOIO);
-               if (!ctx->r.req)
+       if (!ctx->r.req_aead) {
+               ctx->r.req_aead = mempool_alloc(&cc->req_pool, in_interrupt() ? 
GFP_ATOMIC : GFP_NOIO);
+               if (!ctx->r.req_aead)
                        return -ENOMEM;
        }
 


Reply via email to