hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/crypto/essiv.c
....@@ -171,7 +171,12 @@
171171 struct aead_request *req = areq->data;
172172 struct essiv_aead_request_ctx *rctx = aead_request_ctx(req);
173173
174
+ if (err == -EINPROGRESS)
175
+ goto out;
176
+
174177 kfree(rctx->assoc);
178
+
179
+out:
175180 aead_request_complete(req, err);
176181 }
177182
....@@ -247,7 +252,7 @@
247252 err = enc ? crypto_aead_encrypt(subreq) :
248253 crypto_aead_decrypt(subreq);
249254
250
- if (rctx->assoc && err != -EINPROGRESS)
255
+ if (rctx->assoc && err != -EINPROGRESS && err != -EBUSY)
251256 kfree(rctx->assoc);
252257 return err;
253258 }