mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 14:13:16 +00:00
e115fa478f
Refreshed all patches. Remove upstreamed: - 010-dmaengine-dw-dmac-implement-dma-prot.patch - 950-0148-Increase-firmware-call-buffer-size-to-48-bytes.patch - 950-0206-Mailbox-firmware-calls-now-use-kmalloc-2749.patch - 402-leds-trigger-netdev-fix-handling-on-interface-rename.patch Fixes: - CVE-2019-19332 Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> [Add 010-dt-bindings-dmaengine-dw-dmac-add-protection-control.patch] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
64 lines
2.2 KiB
Diff
64 lines
2.2 KiB
Diff
From 38cf5533d7a876f75088bacc1277046f30005f28 Mon Sep 17 00:00:00 2001
|
|
From: Christian Lamparter <chunkeey@gmail.com>
|
|
Date: Mon, 22 Apr 2019 13:26:01 +0200
|
|
Subject: [PATCH 12/15] crypto: crypto4xx - get rid of redundant using_sd
|
|
variable
|
|
|
|
using_sd is used as a stand-in for sa_command_0.bf.scatter
|
|
that we need to set anyway, so we might as well just prevent
|
|
double-accounting.
|
|
|
|
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
|
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
---
|
|
drivers/crypto/amcc/crypto4xx_core.c | 6 ++----
|
|
drivers/crypto/amcc/crypto4xx_core.h | 1 -
|
|
2 files changed, 2 insertions(+), 5 deletions(-)
|
|
|
|
--- a/drivers/crypto/amcc/crypto4xx_core.c
|
|
+++ b/drivers/crypto/amcc/crypto4xx_core.c
|
|
@@ -535,7 +535,7 @@ static void crypto4xx_cipher_done(struct
|
|
|
|
req = skcipher_request_cast(pd_uinfo->async_req);
|
|
|
|
- if (pd_uinfo->using_sd) {
|
|
+ if (pd_uinfo->sa_va->sa_command_0.bf.scatter) {
|
|
crypto4xx_copy_pkt_to_dst(dev, pd, pd_uinfo,
|
|
req->cryptlen, req->dst);
|
|
} else {
|
|
@@ -589,7 +589,7 @@ static void crypto4xx_aead_done(struct c
|
|
u32 icv[AES_BLOCK_SIZE];
|
|
int err = 0;
|
|
|
|
- if (pd_uinfo->using_sd) {
|
|
+ if (pd_uinfo->sa_va->sa_command_0.bf.scatter) {
|
|
crypto4xx_copy_pkt_to_dst(dev, pd, pd_uinfo,
|
|
pd->pd_ctl_len.bf.pkt_len,
|
|
dst);
|
|
@@ -883,7 +883,6 @@ int crypto4xx_build_pd(struct crypto_asy
|
|
* we know application give us dst a whole piece of memory
|
|
* no need to use scatter ring.
|
|
*/
|
|
- pd_uinfo->using_sd = 0;
|
|
pd_uinfo->first_sd = 0xffffffff;
|
|
sa->sa_command_0.bf.scatter = 0;
|
|
pd->dest = (u32)dma_map_page(dev->core_dev->device,
|
|
@@ -897,7 +896,6 @@ int crypto4xx_build_pd(struct crypto_asy
|
|
u32 sd_idx = fst_sd;
|
|
nbytes = datalen;
|
|
sa->sa_command_0.bf.scatter = 1;
|
|
- pd_uinfo->using_sd = 1;
|
|
pd_uinfo->first_sd = fst_sd;
|
|
sd = crypto4xx_get_sdp(dev, &sd_dma, sd_idx);
|
|
pd->dest = sd_dma;
|
|
--- a/drivers/crypto/amcc/crypto4xx_core.h
|
|
+++ b/drivers/crypto/amcc/crypto4xx_core.h
|
|
@@ -64,7 +64,6 @@ union shadow_sa_buf {
|
|
struct pd_uinfo {
|
|
struct crypto4xx_device *dev;
|
|
u32 state;
|
|
- u32 using_sd;
|
|
u32 first_gd; /* first gather discriptor
|
|
used by this packet */
|
|
u32 num_gd; /* number of gather discriptor
|