layerscape: update kernel patch to fix build
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Wed, 11 Nov 2020 12:57:25 +0000 (13:57 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Wed, 11 Nov 2020 17:14:13 +0000 (18:14 +0100)
The target heavily modifies caamalg.c, so changes introduced in
kernel commit 7b930def8ef6 ("crypto: caam - limit output IV to CBC
to work around CTR mode DMA issue") have broken build.

This adjusts the upstream changes to match the rest of our local
patch.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/layerscape/patches-4.9/804-crypto-support-layerscape.patch

index 971427d07829c0fec18ecf4fe9f87dca7572eb5a..1ceef2f0aa5860948961e029ded0d68a56529ee9 100644 (file)
@@ -9166,6 +9166,15 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  
        ablkcipher_unmap(jrdev, edesc, req);
  
+@@ -2052,7 +911,7 @@ static void ablkcipher_encrypt_done(stru
+        * The crypto API expects us to set the IV (req->info) to the last
+        * ciphertext block when running in CBC mode.
+        */
+-      if ((ctx->class1_alg_type & OP_ALG_AAI_MASK) == OP_ALG_AAI_CBC)
++      if ((ctx->cdata.algtype & OP_ALG_AAI_MASK) == OP_ALG_AAI_CBC)
+               scatterwalk_map_and_copy(req->info, req->dst, req->nbytes -
+                                        ivsize, ivsize, 0);
 @@ -2074,8 +933,7 @@ static void ablkcipher_decrypt_done(stru
        dev_err(jrdev, "%s %d: err 0x%x\n", __func__, __LINE__, err);
  #endif
@@ -9190,6 +9199,15 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  
        ablkcipher_unmap(jrdev, edesc, req);
  
+@@ -2094,7 +952,7 @@ static void ablkcipher_decrypt_done(stru
+        * The crypto API expects us to set the IV (req->info) to the last
+        * ciphertext block when running in CBC mode.
+        */
+-      if ((ctx->class1_alg_type & OP_ALG_AAI_MASK) == OP_ALG_AAI_CBC)
++      if ((ctx->cdata.algtype & OP_ALG_AAI_MASK) == OP_ALG_AAI_CBC)
+               scatterwalk_map_and_copy(req->info, req->src, req->nbytes -
+                                        ivsize, ivsize, 0);
 @@ -2127,7 +985,7 @@ static void init_aead_job(struct aead_re
        init_job_desc_shared(desc, ptr, len, HDR_SHARE_DEFER | HDR_REVERSE);