Due to the use of per-CPU buffers, scomp_acomp_comp_decomp() executes
with preemption disabled, and so whether the CRYPTO_TFM_REQ_MAY_SLEEP
flag is set is irrelevant, since we cannot sleep anyway. So disregard
the flag, and use GFP_ATOMIC unconditionally.

Cc: <sta...@vger.kernel.org> # v4.10+
Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
---
 crypto/scompress.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/crypto/scompress.c b/crypto/scompress.c
index ae1d3cf209e4..0b40d991d65f 100644
--- a/crypto/scompress.c
+++ b/crypto/scompress.c
@@ -211,9 +211,7 @@ static int scomp_acomp_comp_decomp(struct acomp_req *req, 
int dir)
                                              scratch_dst, &req->dlen, *ctx);
        if (!ret) {
                if (!req->dst) {
-                       req->dst = crypto_scomp_sg_alloc(req->dlen,
-                                  req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP ?
-                                  GFP_KERNEL : GFP_ATOMIC);
+                       req->dst = crypto_scomp_sg_alloc(req->dlen, GFP_ATOMIC);
                        if (!req->dst)
                                goto out;
                }
-- 
2.11.0

Reply via email to