diff options
author | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2019-05-20 15:31:34 +0200 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2019-05-20 15:31:34 +0200 |
commit | cd574ee16ffa2f2cad8414b9c59520e3e08a77f9 (patch) | |
tree | 8511c7a250b9bd6f6b0285f7fdfb05cd917c0373 /crypto/lrw.c | |
parent | 831fd9fdce82ad6727c15552b430c5e54420d92f (diff) | |
parent | 8648646bd7927eccf4334248e94827d5dd47acf9 (diff) | |
download | linux-crypto-cd574ee16ffa2f2cad8414b9c59520e3e08a77f9.tar.gz linux-crypto-cd574ee16ffa2f2cad8414b9c59520e3e08a77f9.zip |
Merge tag 'v5.2-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into fbdev-for-next
Linux 5.2-rc1
Sync with upstream (which now contains fbdev-v5.2 changes) to
prepare a base for fbdev-v5.3 changes.
Diffstat (limited to 'crypto/lrw.c')
-rw-r--r-- | crypto/lrw.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/crypto/lrw.c b/crypto/lrw.c index 0430ccd0..fa302f3f 100644 --- a/crypto/lrw.c +++ b/crypto/lrw.c @@ -162,8 +162,10 @@ static int xor_tweak(struct skcipher_request *req, bool second_pass) } err = skcipher_walk_virt(&w, req, false); - iv = (__be32 *)w.iv; + if (err) + return err; + iv = (__be32 *)w.iv; counter[0] = be32_to_cpu(iv[3]); counter[1] = be32_to_cpu(iv[2]); counter[2] = be32_to_cpu(iv[1]); @@ -212,8 +214,12 @@ static void crypt_done(struct crypto_async_request *areq, int err) { struct skcipher_request *req = areq->data; - if (!err) + if (!err) { + struct rctx *rctx = skcipher_request_ctx(req); + + rctx->subreq.base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP; err = xor_tweak_post(req); + } skcipher_request_complete(req, err); } @@ -431,7 +437,7 @@ static void __exit crypto_module_exit(void) crypto_unregister_template(&crypto_tmpl); } -module_init(crypto_module_init); +subsys_initcall(crypto_module_init); module_exit(crypto_module_exit); MODULE_LICENSE("GPL"); |