Update some patch for uadk_engine from mainline. Signed-off-by: Yang Shen <shenyang39@huawei.com> (cherry picked from commit 6ae4d8c0999343eddb153c4e4e879a6b66ef528f)
48 lines
1.3 KiB
Diff
48 lines
1.3 KiB
Diff
From d6b2f7a4b2486afb3b3a418f32ce9d43783ef8f0 Mon Sep 17 00:00:00 2001
|
|
From: Kai Ye <yekai13@huawei.com>
|
|
Date: Thu, 12 May 2022 10:31:57 +0800
|
|
Subject: [PATCH 43/57] cipher: fix cipher decrypto failed as use jdk
|
|
|
|
Because the java releases the memory immediately after the
|
|
memory is used. So the engine should not use user memory for
|
|
storage the key.
|
|
|
|
Signed-off-by: Kai Ye <yekai13@huawei.com>
|
|
---
|
|
src/uadk_cipher.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/uadk_cipher.c b/src/uadk_cipher.c
|
|
index 49022f7..7eba992 100644
|
|
--- a/src/uadk_cipher.c
|
|
+++ b/src/uadk_cipher.c
|
|
@@ -36,6 +36,7 @@
|
|
#define BYTE_BITS 8
|
|
#define IV_LEN 16
|
|
#define ENV_ENABLED 1
|
|
+#define MAX_KEY_LEN 64
|
|
|
|
struct cipher_engine {
|
|
struct wd_ctx_config ctx_cfg;
|
|
@@ -57,7 +58,7 @@ struct cipher_priv_ctx {
|
|
struct wd_cipher_sess_setup setup;
|
|
struct wd_cipher_req req;
|
|
unsigned char iv[IV_LEN];
|
|
- const unsigned char *key;
|
|
+ unsigned char key[MAX_KEY_LEN];
|
|
int switch_flag;
|
|
void *sw_ctx_data;
|
|
/* Crypto small packet offload threshold */
|
|
@@ -694,7 +695,7 @@ static int uadk_e_cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key,
|
|
if (unlikely(ret != 1))
|
|
return 0;
|
|
|
|
- priv->key = key;
|
|
+ memcpy(priv->key, key, EVP_CIPHER_CTX_key_length(ctx));
|
|
priv->switch_threshold = SMALL_PACKET_OFFLOAD_THRESHOLD_DEFAULT;
|
|
|
|
return 1;
|
|
--
|
|
2.27.0
|
|
|