ahash_op_unaligned() and ahash_def_finup() allocate memory atomically,
regardless whether the request can sleep or not. This patch changes
this to use GFP_KERNEL if the request can sleep.

Signed-off-by: Steffen Klassert <steffen.klass...@secunet.com>
---
 crypto/ahash.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/crypto/ahash.c b/crypto/ahash.c
index 28a33d0..33a4ff4 100644
--- a/crypto/ahash.c
+++ b/crypto/ahash.c
@@ -223,7 +223,7 @@ static int ahash_op_unaligned(struct ahash_request *req,
 
        priv = kmalloc(sizeof(*priv) + ahash_align_buffer_size(ds, alignmask),
                       (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
-                      GFP_ATOMIC : GFP_ATOMIC);
+                      GFP_KERNEL : GFP_ATOMIC);
        if (!priv)
                return -ENOMEM;
 
@@ -333,7 +333,7 @@ static int ahash_def_finup(struct ahash_request *req)
 
        priv = kmalloc(sizeof(*priv) + ahash_align_buffer_size(ds, alignmask),
                       (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
-                      GFP_ATOMIC : GFP_ATOMIC);
+                      GFP_KERNEL : GFP_ATOMIC);
        if (!priv)
                return -ENOMEM;
 
-- 
1.5.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to