libwd - update some patches
Update some patches for 2203-SP3 only. Signed-off-by: Yang Shen <shenyang39@huawei.com>
This commit is contained in:
parent
0bf46982b4
commit
5c995b2464
@ -1,7 +1,7 @@
|
||||
From d491b5480de01ea64360c24b6a89db3ddaf640e1 Mon Sep 17 00:00:00 2001
|
||||
From 81796060fc415722c40b4db114f2009d76d12ba4 Mon Sep 17 00:00:00 2001
|
||||
From: Yang Shen <shenyang39@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 14:25:14 +0800
|
||||
Subject: [PATCH 114/114] uadk: zlibwrapper - fix return value for
|
||||
Subject: [PATCH 086/123] uadk: zlibwrapper - fix return value for
|
||||
wd_zlib_uadk_init
|
||||
|
||||
It means the UADK compression library has been initialized when
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Yang Shen <shenyang39@huawei.com>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/wd_zlibwrapper.c b/wd_zlibwrapper.c
|
||||
index 7189b7f..e562910 100644
|
||||
index afa8ee7..953837a 100644
|
||||
--- a/wd_zlibwrapper.c
|
||||
+++ b/wd_zlibwrapper.c
|
||||
@@ -73,6 +73,7 @@ static int wd_zlib_uadk_init(void)
|
||||
@ -27,5 +27,5 @@ index 7189b7f..e562910 100644
|
||||
|
||||
out_freebmp:
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From d465cfbe854a2b0719de48e9973f1a3aa091c3f7 Mon Sep 17 00:00:00 2001
|
||||
From 9c06ef805f5905a1701de47236f6bc872d5a8b69 Mon Sep 17 00:00:00 2001
|
||||
From: Weili Qian <qianweili@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 15:51:26 +0800
|
||||
Subject: [PATCH 107/114] v1/hpre: fix key transfer error issue
|
||||
Subject: [PATCH 087/123] v1/hpre: fix key transfer error issue
|
||||
|
||||
Currently, the RSA algorithm calls qm_crypto_bin_to_hpre_bin() to
|
||||
transfer the key when sending request. However, the key
|
||||
@ -83,5 +83,5 @@ index 193ba56..0d0c3b4 100644
|
||||
*data = wd_e->data;
|
||||
return (int)(wd_n->bsize + wd_e->bsize);
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 40a78df99ab6e13ca8a2fda51a885c089c811f2e Mon Sep 17 00:00:00 2001
|
||||
From f7ae3c7bd7e7214bd27616c33f6c16c6be962b2a Mon Sep 17 00:00:00 2001
|
||||
From: Weili Qian <qianweili@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 16:40:39 +0800
|
||||
Subject: [PATCH 108/114] uadk/hisi_hpre: fix key transfer error issue
|
||||
Subject: [PATCH 088/123] uadk/hisi_hpre: fix key transfer error issue
|
||||
|
||||
Currently, the RSA algorithm calls crypto_bin_to_hpre_bin() to
|
||||
transfer the key when sending request. However, the key
|
||||
@ -83,5 +83,5 @@ index c7bb70e..61c7855 100644
|
||||
*data = wd_e->data;
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 6bb23a7d5d8bf7afda47bddd52e16bf72b446f6b Mon Sep 17 00:00:00 2001
|
||||
From ccb0b04804fe8ba3404521f168ebe86eef064db7 Mon Sep 17 00:00:00 2001
|
||||
From: Weili Qian <qianweili@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 15:51:28 +0800
|
||||
Subject: [PATCH 109/114] uadk/v1: remove duplicate header files
|
||||
Subject: [PATCH 089/123] uadk/v1: remove duplicate header files
|
||||
|
||||
Some of the header files are already included in wd.h,
|
||||
and hisi_rng_udrv.h already includes wd.h. Therefore,
|
||||
@ -50,5 +50,5 @@ index 93f2f91..56814a4 100644
|
||||
#include "v1/wd_util.h"
|
||||
#include "v1/wd_rng.h"
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 4d64eedcb418802a8c6ae376b8d6fdda62ea61eb Mon Sep 17 00:00:00 2001
|
||||
From 4f7a10584db39dea3fbd5aad60dff507b512922a Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 15:51:29 +0800
|
||||
Subject: [PATCH 110/114] uadk: fix error writing data to uninitialized memory
|
||||
Subject: [PATCH 090/123] uadk: fix error writing data to uninitialized memory
|
||||
|
||||
After the memory is applied for, the memory
|
||||
must be initialized before being written.
|
||||
@ -12,7 +12,7 @@ Signed-off-by: Qi Tao <taoqi10@huawei.com>
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drv/hisi_qm_udrv.c b/drv/hisi_qm_udrv.c
|
||||
index d86a692..8e4c0bb 100644
|
||||
index 13db3f0..0baa85c 100644
|
||||
--- a/drv/hisi_qm_udrv.c
|
||||
+++ b/drv/hisi_qm_udrv.c
|
||||
@@ -252,11 +252,10 @@ static int hisi_qm_setup_db(handle_t h_ctx, struct hisi_qm_queue_info *q_info)
|
||||
@ -38,5 +38,5 @@ index d86a692..8e4c0bb 100644
|
||||
config->sqn = qp_ctx.id;
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From d1b4b282c104cc2643e8d2eb83ec74df796b2c24 Mon Sep 17 00:00:00 2001
|
||||
From 9472d9abd068fea0a60a31d0ddd83a2aba1423cb Mon Sep 17 00:00:00 2001
|
||||
From: Hao Fang <fanghao11@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 15:51:30 +0800
|
||||
Subject: [PATCH 111/114] uadk: drv/qm: fix resource leak by add qp info clear
|
||||
Subject: [PATCH 091/123] uadk: drv/qm: fix resource leak by add qp info clear
|
||||
process
|
||||
|
||||
The spin_lock need to destroy and mem region need
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Hao Fang <fanghao11@huawei.com>
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drv/hisi_qm_udrv.c b/drv/hisi_qm_udrv.c
|
||||
index 8e4c0bb..76a270e 100644
|
||||
index 0baa85c..4c80959 100644
|
||||
--- a/drv/hisi_qm_udrv.c
|
||||
+++ b/drv/hisi_qm_udrv.c
|
||||
@@ -449,10 +449,10 @@ void hisi_qm_free_qp(handle_t h_qp)
|
||||
@ -32,5 +32,5 @@ index 8e4c0bb..76a270e 100644
|
||||
free(qp);
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From fef7c7a3191e55c6daeb67df5c29b4b841445efe Mon Sep 17 00:00:00 2001
|
||||
From 831d59dcb71cfa15d0503c0fd1ac41cfdbd781ca Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 15:51:31 +0800
|
||||
Subject: [PATCH 112/114] uadk/v1: fix error writing data to uninitialized
|
||||
Subject: [PATCH 092/123] uadk/v1: fix error writing data to uninitialized
|
||||
memory
|
||||
|
||||
After the memory is applied for, the memory
|
||||
@ -28,5 +28,5 @@ index 6cbcdf5..0ca38d2 100644
|
||||
|
||||
info->sq_tail_index = 0;
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 3e309b7dbcb2f9308a8ccb1b7cb7876f808a7394 Mon Sep 17 00:00:00 2001
|
||||
From cf6d321107cbbb91e440395c0a26075e500ed5be Mon Sep 17 00:00:00 2001
|
||||
From: Weili Qian <qianweili@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 16:41:27 +0800
|
||||
Subject: [PATCH] uadk: check queue status before sending doorbells
|
||||
Subject: [PATCH 093/123] uadk: check queue status before sending doorbells
|
||||
|
||||
When the device needs to be reset, the queue status is
|
||||
set to disable before resetting. The user process checks
|
||||
@ -151,5 +151,5 @@ index 0e67cad..0a654d6 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
1246
0094-uadk-remove-drivers-alloc-and-free-resources.patch
Normal file
1246
0094-uadk-remove-drivers-alloc-and-free-resources.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
From 4c08e19a760e2095a441e4f4e54449be090323c5 Mon Sep 17 00:00:00 2001
|
||||
From 217fcc4b6ee0e4c0c32e2c81fba972de2d2e761b Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Fri, 24 Nov 2023 11:53:49 +0800
|
||||
Subject: [PATCH 086/114] uadk/v1/comp: add comp ctx parameters check
|
||||
Subject: [PATCH 095/123] uadk/v1/comp: add comp ctx parameters check
|
||||
|
||||
Add the check of ctx parameters before create ctx pool.
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Qi Tao <taoqi10@huawei.com>
|
||||
1 file changed, 58 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/v1/wd_comp.c b/v1/wd_comp.c
|
||||
index f898c1d..154db19 100644
|
||||
index fb9e413..dd838eb 100644
|
||||
--- a/v1/wd_comp.c
|
||||
+++ b/v1/wd_comp.c
|
||||
@@ -56,6 +56,62 @@ static void fill_comp_msg(struct wcrypto_comp_ctx *ctx,
|
||||
@ -116,5 +116,5 @@ index f898c1d..154db19 100644
|
||||
}
|
||||
-
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From f669f0bf233a1441fd98b4fc79400af2bbeae78f Mon Sep 17 00:00:00 2001
|
||||
From 79bd75212d39325f825549bb206992b912542a70 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Fri, 24 Nov 2023 11:57:05 +0800
|
||||
Subject: [PATCH 087/114] uadk/v1: check whether the data address pointer is
|
||||
Subject: [PATCH 096/123] uadk/v1: check whether the data address pointer is
|
||||
not null
|
||||
|
||||
The data address pointers were used without address verification,
|
||||
@ -134,7 +134,7 @@ index 3e6fb3d..60a0f25 100644
|
||||
}
|
||||
|
||||
diff --git a/v1/wd_comp.c b/v1/wd_comp.c
|
||||
index 154db19..3d2fcf1 100644
|
||||
index dd838eb..169f1b4 100644
|
||||
--- a/v1/wd_comp.c
|
||||
+++ b/v1/wd_comp.c
|
||||
@@ -60,8 +60,8 @@ static int ctx_params_check(struct wd_queue *q, struct wcrypto_comp_ctx_setup *s
|
||||
@ -405,5 +405,5 @@ index a8c6b15..bf17058 100644
|
||||
|
||||
#endif
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 80f2ff4c5181dac5fc5dff113d06c4429d3aa029 Mon Sep 17 00:00:00 2001
|
||||
From 4e4b64036f8001d1e40ea4fec4742a09d25b85ae Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 16:51:02 +0800
|
||||
Subject: [PATCH 088/114] uadk/v1: remove print actions after wd_get_cookies
|
||||
Subject: [PATCH 097/123] uadk/v1: remove print actions after wd_get_cookies
|
||||
|
||||
Print information after wd_get_cookies returning EBUSY
|
||||
can seriously affect performance,so remove it.
|
||||
@ -62,5 +62,5 @@ index b617350..b8ea5ce 100644
|
||||
for (i = 0; i < num; i++) {
|
||||
cookies[i]->tag.priv = opdata[i]->priv;
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 2edce8cc047c73341d5fde1ec6639e3a61681f64 Mon Sep 17 00:00:00 2001
|
||||
From c23fbffb2afe00b0d5c9842c88884d83b83629c0 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 16:54:46 +0800
|
||||
Subject: [PATCH 089/114] uadk: fix header file is not self contained
|
||||
Subject: [PATCH 098/123] uadk: fix header file is not self contained
|
||||
|
||||
Header files are not self contained, fix it.
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Wenkai Lin <linwenkai6@hisilicon.com>
|
||||
5 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/include/wd.h b/include/wd.h
|
||||
index 0e67cad..6ee2ef5 100644
|
||||
index 0a654d6..80982b0 100644
|
||||
--- a/include/wd.h
|
||||
+++ b/include/wd.h
|
||||
@@ -7,6 +7,7 @@
|
||||
@ -63,7 +63,7 @@ index a492d70..b145172 100644
|
||||
|
||||
#ifdef __cplusplus
|
||||
diff --git a/include/wd_util.h b/include/wd_util.h
|
||||
index be9798c..78c5d23 100644
|
||||
index 0f35ccf..4536937 100644
|
||||
--- a/include/wd_util.h
|
||||
+++ b/include/wd_util.h
|
||||
@@ -13,7 +13,9 @@
|
||||
@ -77,5 +77,5 @@ index be9798c..78c5d23 100644
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 5de69884dea416eea90b2f5a76ac1fcf1a70f8a9 Mon Sep 17 00:00:00 2001
|
||||
From 72e69f204e23ff415b76cc498349bdaef5c8a46a Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 17:00:48 +0800
|
||||
Subject: [PATCH 090/114] uadk\sec: modify improper comments.
|
||||
Subject: [PATCH 099/123] uadk\sec: modify improper comments.
|
||||
|
||||
Modify or delete improper comments in uadk/sec module.
|
||||
|
||||
@ -12,10 +12,10 @@ Signed-off-by: Qi Tao <taoqi10@huawei.com>
|
||||
2 files changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/wd_digest.c b/wd_digest.c
|
||||
index 2307bf1..bc67878 100644
|
||||
index e523331..3cbb828 100644
|
||||
--- a/wd_digest.c
|
||||
+++ b/wd_digest.c
|
||||
@@ -131,7 +131,7 @@ int wd_digest_set_key(handle_t h_sess, const __u8 *key, __u32 key_len)
|
||||
@@ -132,7 +132,7 @@ int wd_digest_set_key(handle_t h_sess, const __u8 *key, __u32 key_len)
|
||||
int ret;
|
||||
|
||||
if (!key || !sess) {
|
||||
@ -25,7 +25,7 @@ index 2307bf1..bc67878 100644
|
||||
}
|
||||
|
||||
diff --git a/wd_util.c b/wd_util.c
|
||||
index a9640c3..d1d4037 100644
|
||||
index 989c99a..2d3cbbb 100644
|
||||
--- a/wd_util.c
|
||||
+++ b/wd_util.c
|
||||
@@ -408,7 +408,6 @@ void wd_uninit_async_request_pool(struct wd_async_msg_pool *pool)
|
||||
@ -45,5 +45,5 @@ index a9640c3..d1d4037 100644
|
||||
{
|
||||
struct async_task_queue *task_queue;
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 81d5593a3f9f6e5c763f81f6e7d393dc5efda961 Mon Sep 17 00:00:00 2001
|
||||
From 5a1b1dd52ce7cf0e5aaf40781d2b3820ca615834 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 17:02:26 +0800
|
||||
Subject: [PATCH 091/114] uadk: fixed some input parameter checking issues
|
||||
Subject: [PATCH 100/123] uadk: fixed some input parameter checking issues
|
||||
|
||||
Inside the asynchronous packet receiving interface of all submodules.
|
||||
When the number of expected received packets is 0. Failure to intercept
|
||||
@ -23,10 +23,10 @@ Signed-off-by: Longfang Liu <liulongfang@huawei.com>
|
||||
7 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/wd_aead.c b/wd_aead.c
|
||||
index 87d61c3..ff43086 100644
|
||||
index 20d1109..9b23411 100644
|
||||
--- a/wd_aead.c
|
||||
+++ b/wd_aead.c
|
||||
@@ -816,7 +816,7 @@ int wd_aead_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
@@ -813,7 +813,7 @@ int wd_aead_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
__u32 tmp = expt;
|
||||
int ret;
|
||||
|
||||
@ -36,10 +36,10 @@ index 87d61c3..ff43086 100644
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
diff --git a/wd_cipher.c b/wd_cipher.c
|
||||
index 58d34f7..0187c9c 100644
|
||||
index 76b9bad..029c854 100644
|
||||
--- a/wd_cipher.c
|
||||
+++ b/wd_cipher.c
|
||||
@@ -730,7 +730,7 @@ int wd_cipher_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
@@ -732,7 +732,7 @@ int wd_cipher_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
__u32 tmp = expt;
|
||||
int ret;
|
||||
|
||||
@ -49,10 +49,10 @@ index 58d34f7..0187c9c 100644
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
diff --git a/wd_comp.c b/wd_comp.c
|
||||
index 21c9928..57e8b8f 100644
|
||||
index b6fe85c..c2e393d 100644
|
||||
--- a/wd_comp.c
|
||||
+++ b/wd_comp.c
|
||||
@@ -340,8 +340,8 @@ int wd_comp_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
@@ -342,8 +342,8 @@ int wd_comp_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
__u32 tmp = expt;
|
||||
int ret;
|
||||
|
||||
@ -64,10 +64,10 @@ index 21c9928..57e8b8f 100644
|
||||
}
|
||||
|
||||
diff --git a/wd_dh.c b/wd_dh.c
|
||||
index 40a52e5..dac55ca 100644
|
||||
index 157f7c6..6bfc0cc 100644
|
||||
--- a/wd_dh.c
|
||||
+++ b/wd_dh.c
|
||||
@@ -438,8 +438,8 @@ int wd_dh_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
@@ -446,8 +446,8 @@ int wd_dh_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
__u32 tmp = expt;
|
||||
int ret;
|
||||
|
||||
@ -79,10 +79,10 @@ index 40a52e5..dac55ca 100644
|
||||
}
|
||||
|
||||
diff --git a/wd_digest.c b/wd_digest.c
|
||||
index bc67878..1f2b3b2 100644
|
||||
index 3cbb828..7e09d96 100644
|
||||
--- a/wd_digest.c
|
||||
+++ b/wd_digest.c
|
||||
@@ -701,7 +701,7 @@ int wd_digest_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
@@ -698,7 +698,7 @@ int wd_digest_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
__u32 tmp = expt;
|
||||
int ret;
|
||||
|
||||
@ -92,10 +92,10 @@ index bc67878..1f2b3b2 100644
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
diff --git a/wd_ecc.c b/wd_ecc.c
|
||||
index 4323e54..b5e7e36 100644
|
||||
index a1d4dae..3cdbfdf 100644
|
||||
--- a/wd_ecc.c
|
||||
+++ b/wd_ecc.c
|
||||
@@ -2272,8 +2272,8 @@ int wd_ecc_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
@@ -2280,8 +2280,8 @@ int wd_ecc_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
__u32 tmp = expt;
|
||||
int ret;
|
||||
|
||||
@ -107,10 +107,10 @@ index 4323e54..b5e7e36 100644
|
||||
}
|
||||
|
||||
diff --git a/wd_rsa.c b/wd_rsa.c
|
||||
index 1813676..b71540f 100644
|
||||
index b986855..1424f61 100644
|
||||
--- a/wd_rsa.c
|
||||
+++ b/wd_rsa.c
|
||||
@@ -495,8 +495,8 @@ int wd_rsa_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
@@ -503,8 +503,8 @@ int wd_rsa_poll_ctx(__u32 idx, __u32 expt, __u32 *count)
|
||||
__u32 tmp = expt;
|
||||
int ret;
|
||||
|
||||
@ -122,5 +122,5 @@ index 1813676..b71540f 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 7a129d1ee851524a6166341c492e874705540ca2 Mon Sep 17 00:00:00 2001
|
||||
From b580bdf42dc1a1a40815ee2af8d154e5855546df Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 17:05:32 +0800
|
||||
Subject: [PATCH 092/114] uadk: code cleanup
|
||||
Subject: [PATCH 101/123] uadk: code cleanup
|
||||
|
||||
Add the input pointer checking.
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
|
||||
7 files changed, 62 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/include/wd_util.h b/include/wd_util.h
|
||||
index 78c5d23..3059ac1 100644
|
||||
index 4536937..5d397c1 100644
|
||||
--- a/include/wd_util.h
|
||||
+++ b/include/wd_util.h
|
||||
@@ -235,6 +235,18 @@ void wd_put_msg_to_pool(struct wd_async_msg_pool *pool, int ctx_idx,
|
||||
@ -40,7 +40,7 @@ index 78c5d23..3059ac1 100644
|
||||
* wd_check_datalist() - Check the data list length
|
||||
* @head: Data list's head pointer.
|
||||
diff --git a/wd.c b/wd.c
|
||||
index ddde38d..a6e207d 100644
|
||||
index e88c993..998c9be 100644
|
||||
--- a/wd.c
|
||||
+++ b/wd.c
|
||||
@@ -756,7 +756,7 @@ struct uacce_dev *wd_find_dev_by_numa(struct uacce_dev_list *list, int numa_id)
|
||||
@ -53,10 +53,10 @@ index ddde38d..a6e207d 100644
|
||||
continue;
|
||||
}
|
||||
diff --git a/wd_aead.c b/wd_aead.c
|
||||
index ff43086..6d49d76 100644
|
||||
index 9b23411..05f8883 100644
|
||||
--- a/wd_aead.c
|
||||
+++ b/wd_aead.c
|
||||
@@ -361,6 +361,11 @@ static int wd_aead_param_check(struct wd_aead_sess *sess,
|
||||
@@ -362,6 +362,11 @@ static int wd_aead_param_check(struct wd_aead_sess *sess,
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ index ff43086..6d49d76 100644
|
||||
if (unlikely(sess->cmode == WD_CIPHER_CBC && req->in_bytes == 0)) {
|
||||
WD_ERR("aead input data length is zero!\n");
|
||||
return -WD_EINVAL;
|
||||
@@ -384,6 +389,12 @@ static int wd_aead_param_check(struct wd_aead_sess *sess,
|
||||
@@ -385,6 +390,12 @@ static int wd_aead_param_check(struct wd_aead_sess *sess,
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
@ -82,10 +82,10 @@ index ff43086..6d49d76 100644
|
||||
len = req->in_bytes + req->assoc_bytes;
|
||||
ret = wd_check_datalist(req->list_src, len);
|
||||
diff --git a/wd_cipher.c b/wd_cipher.c
|
||||
index 0187c9c..47c0bf8 100644
|
||||
index 029c854..22fb2c7 100644
|
||||
--- a/wd_cipher.c
|
||||
+++ b/wd_cipher.c
|
||||
@@ -542,6 +542,11 @@ static int cipher_iv_len_check(struct wd_cipher_req *req,
|
||||
@@ -544,6 +544,11 @@ static int cipher_iv_len_check(struct wd_cipher_req *req,
|
||||
if (sess->mode == WD_CIPHER_ECB)
|
||||
return 0;
|
||||
|
||||
@ -97,7 +97,7 @@ index 0187c9c..47c0bf8 100644
|
||||
switch (sess->alg) {
|
||||
case WD_CIPHER_AES:
|
||||
case WD_CIPHER_SM4:
|
||||
@@ -589,6 +594,12 @@ static int wd_cipher_check_params(handle_t h_sess,
|
||||
@@ -591,6 +596,12 @@ static int wd_cipher_check_params(handle_t h_sess,
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
@ -111,10 +111,10 @@ index 0187c9c..47c0bf8 100644
|
||||
ret = wd_check_datalist(req->list_src, req->in_bytes);
|
||||
if (unlikely(ret)) {
|
||||
diff --git a/wd_digest.c b/wd_digest.c
|
||||
index 1f2b3b2..9008bcb 100644
|
||||
index 7e09d96..e119b42 100644
|
||||
--- a/wd_digest.c
|
||||
+++ b/wd_digest.c
|
||||
@@ -514,12 +514,18 @@ static int wd_digest_param_check(struct wd_digest_sess *sess,
|
||||
@@ -511,12 +511,18 @@ static int wd_digest_param_check(struct wd_digest_sess *sess,
|
||||
return ret;
|
||||
|
||||
if (unlikely(sess->alg == WD_DIGEST_AES_GMAC &&
|
||||
@ -174,7 +174,7 @@ index d1c829f..7aeea73 100644
|
||||
/* Default async mode use ctx 0 */
|
||||
loop_times--;
|
||||
diff --git a/wd_util.c b/wd_util.c
|
||||
index d1d4037..10b0ab9 100644
|
||||
index 2d3cbbb..2892ee9 100644
|
||||
--- a/wd_util.c
|
||||
+++ b/wd_util.c
|
||||
@@ -459,6 +459,14 @@ void wd_put_msg_to_pool(struct wd_async_msg_pool *pool, int ctx_idx, __u32 tag)
|
||||
@ -193,5 +193,5 @@ index d1d4037..10b0ab9 100644
|
||||
{
|
||||
struct wd_datalist *tmp = head;
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,103 +1,105 @@
|
||||
From e0ace2af02926648ec44070ac3b5e5328365f849 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 17:08:58 +0800
|
||||
Subject: [PATCH 093/114] uadk: fix sec send and recv check failed
|
||||
From b43227db361d5782077b05811d41ea02f6197fa0 Mon Sep 17 00:00:00 2001
|
||||
From: Wenkai Lin <linwenkai6@hisilicon.com>
|
||||
Date: Sat, 9 Dec 2023 15:55:09 +0800
|
||||
Subject: [PATCH 102/123] uadk: fix sec send and recv check failed
|
||||
|
||||
The send and recv pointers should be assigned at the beginning,
|
||||
not during wd initialization.
|
||||
|
||||
Signed-off-by: Wenkai Lin <linwenkai6@hisilicon.com>
|
||||
Signed-off-by: Wenkai Lin linwenkai6@hisilicon.com
|
||||
drv/hisi_sec.c | 260 ++++++++++++++++++++++++++++---------------------
|
||||
1 file changed, 149 insertions(+), 111 deletions(-)
|
||||
---
|
||||
drv/hisi_sec.c | 260 ++++++++++++++++++++++++++++---------------------
|
||||
1 file changed, 149 insertions(+), 111 deletions(-)
|
||||
|
||||
diff --git a/drv/hisi_sec.c b/drv/hisi_sec.c
|
||||
index 03e7037..9bf7e68 100644
|
||||
index 341e91a..747281a 100644
|
||||
--- a/drv/hisi_sec.c
|
||||
+++ b/drv/hisi_sec.c
|
||||
@@ -539,12 +539,93 @@ static __u32 g_sec_hmac_full_len[WD_DIGEST_TYPE_MAX] = {
|
||||
static int hisi_sec_init(struct wd_alg_driver *drv, void *conf);
|
||||
static void hisi_sec_exit(struct wd_alg_driver *drv);
|
||||
static int hisi_sec_init(void *conf, void *priv);
|
||||
static void hisi_sec_exit(void *priv);
|
||||
|
||||
+static int hisi_sec_cipher_send(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_cipher_recv(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_cipher_send_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_cipher_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_cipher_send(handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_cipher_recv(handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_cipher_send_v3(handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_cipher_recv_v3(handle_t ctx, void *wd_msg);
|
||||
+
|
||||
+static int hisi_sec_digest_send(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_digest_recv(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_digest_send_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_digest_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_digest_send(handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_digest_recv(handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_digest_send_v3(handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_digest_recv_v3(handle_t ctx, void *wd_msg);
|
||||
+
|
||||
+static int hisi_sec_aead_send(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_aead_recv(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_aead_send_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_aead_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_aead_send(handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_aead_recv(handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_aead_send_v3(handle_t ctx, void *wd_msg);
|
||||
+static int hisi_sec_aead_recv_v3(handle_t ctx, void *wd_msg);
|
||||
+
|
||||
+static int cipher_send(struct wd_alg_driver *drv, handle_t ctx, void *msg)
|
||||
+static int cipher_send(handle_t ctx, void *msg)
|
||||
+{
|
||||
+ handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
+ struct hisi_qp *qp = (struct hisi_qp *)h_qp;
|
||||
+ struct hisi_qm_queue_info q_info = qp->q_info;
|
||||
+
|
||||
+ if (q_info.hw_type == HISI_QM_API_VER2_BASE)
|
||||
+ return hisi_sec_cipher_send(drv, ctx, msg);
|
||||
+ return hisi_sec_cipher_send_v3(drv, ctx, msg);
|
||||
+ return hisi_sec_cipher_send(ctx, msg);
|
||||
+ return hisi_sec_cipher_send_v3(ctx, msg);
|
||||
+}
|
||||
+
|
||||
+static int cipher_recv(struct wd_alg_driver *drv, handle_t ctx, void *msg)
|
||||
+static int cipher_recv(handle_t ctx, void *msg)
|
||||
+{
|
||||
+ handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
+ struct hisi_qp *qp = (struct hisi_qp *)h_qp;
|
||||
+ struct hisi_qm_queue_info q_info = qp->q_info;
|
||||
+
|
||||
+ if (q_info.hw_type == HISI_QM_API_VER2_BASE)
|
||||
+ return hisi_sec_cipher_recv(drv, ctx, msg);
|
||||
+ return hisi_sec_cipher_recv_v3(drv, ctx, msg);
|
||||
+ return hisi_sec_cipher_recv(ctx, msg);
|
||||
+ return hisi_sec_cipher_recv_v3(ctx, msg);
|
||||
+}
|
||||
+
|
||||
+static int digest_send(struct wd_alg_driver *drv, handle_t ctx, void *msg)
|
||||
+static int digest_send(handle_t ctx, void *msg)
|
||||
+{
|
||||
+ handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
+ struct hisi_qp *qp = (struct hisi_qp *)h_qp;
|
||||
+ struct hisi_qm_queue_info q_info = qp->q_info;
|
||||
+
|
||||
+ if (q_info.hw_type == HISI_QM_API_VER2_BASE)
|
||||
+ return hisi_sec_digest_send(drv, ctx, msg);
|
||||
+ return hisi_sec_digest_send_v3(drv, ctx, msg);
|
||||
+ return hisi_sec_digest_send(ctx, msg);
|
||||
+ return hisi_sec_digest_send_v3(ctx, msg);
|
||||
+}
|
||||
+
|
||||
+static int digest_recv(struct wd_alg_driver *drv, handle_t ctx, void *msg)
|
||||
+static int digest_recv(handle_t ctx, void *msg)
|
||||
+{
|
||||
+ handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
+ struct hisi_qp *qp = (struct hisi_qp *)h_qp;
|
||||
+ struct hisi_qm_queue_info q_info = qp->q_info;
|
||||
+
|
||||
+ if (q_info.hw_type == HISI_QM_API_VER2_BASE)
|
||||
+ return hisi_sec_digest_recv(drv, ctx, msg);
|
||||
+ return hisi_sec_digest_recv_v3(drv, ctx, msg);
|
||||
+ return hisi_sec_digest_recv(ctx, msg);
|
||||
+ return hisi_sec_digest_recv_v3(ctx, msg);
|
||||
+}
|
||||
+
|
||||
+static int aead_send(struct wd_alg_driver *drv, handle_t ctx, void *msg)
|
||||
+static int aead_send(handle_t ctx, void *msg)
|
||||
+{
|
||||
+ handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
+ struct hisi_qp *qp = (struct hisi_qp *)h_qp;
|
||||
+ struct hisi_qm_queue_info q_info = qp->q_info;
|
||||
+
|
||||
+ if (q_info.hw_type == HISI_QM_API_VER2_BASE)
|
||||
+ return hisi_sec_aead_send(drv, ctx, msg);
|
||||
+ return hisi_sec_aead_send_v3(drv, ctx, msg);
|
||||
+ return hisi_sec_aead_send(ctx, msg);
|
||||
+ return hisi_sec_aead_send_v3(ctx, msg);
|
||||
+}
|
||||
+
|
||||
+static int aead_recv(struct wd_alg_driver *drv, handle_t ctx, void *msg)
|
||||
+static int aead_recv(handle_t ctx, void *msg)
|
||||
+{
|
||||
+ handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
+ struct hisi_qp *qp = (struct hisi_qp *)h_qp;
|
||||
+ struct hisi_qm_queue_info q_info = qp->q_info;
|
||||
+
|
||||
+ if (q_info.hw_type == HISI_QM_API_VER2_BASE)
|
||||
+ return hisi_sec_aead_recv(drv, ctx, msg);
|
||||
+ return hisi_sec_aead_recv_v3(drv, ctx, msg);
|
||||
+ return hisi_sec_aead_recv(ctx, msg);
|
||||
+ return hisi_sec_aead_recv_v3(ctx, msg);
|
||||
+}
|
||||
+
|
||||
static int hisi_sec_get_usage(void *param)
|
||||
@ -110,7 +112,7 @@ index 03e7037..9bf7e68 100644
|
||||
{\
|
||||
.drv_name = "hisi_sec2",\
|
||||
.alg_name = (sec_alg_name),\
|
||||
@@ -555,57 +636,59 @@ static int hisi_sec_get_usage(void *param)
|
||||
@@ -556,57 +637,59 @@ static int hisi_sec_get_usage(void *param)
|
||||
.fallback = 0,\
|
||||
.init = hisi_sec_init,\
|
||||
.exit = hisi_sec_exit,\
|
||||
@ -211,12 +213,12 @@ index 03e7037..9bf7e68 100644
|
||||
};
|
||||
|
||||
static void dump_sec_msg(void *msg, const char *alg)
|
||||
@@ -1092,10 +1175,10 @@ static int fill_cipher_bd2(struct wd_cipher_msg *msg, struct hisi_sec_sqe *sqe)
|
||||
@@ -1093,10 +1176,10 @@ static int fill_cipher_bd2(struct wd_cipher_msg *msg, struct hisi_sec_sqe *sqe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int hisi_sec_cipher_send(struct wd_alg_driver *drv, handle_t ctx, void *cipher_msg)
|
||||
+static int hisi_sec_cipher_send(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_cipher_send(handle_t ctx, void *cipher_msg)
|
||||
+static int hisi_sec_cipher_send(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_cipher_msg *msg = cipher_msg;
|
||||
@ -224,12 +226,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -1137,10 +1220,10 @@ int hisi_sec_cipher_send(struct wd_alg_driver *drv, handle_t ctx, void *cipher_m
|
||||
@@ -1138,10 +1221,10 @@ int hisi_sec_cipher_send(handle_t ctx, void *cipher_msg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int hisi_sec_cipher_recv(struct wd_alg_driver *drv, handle_t ctx, void *cipher_msg)
|
||||
+static int hisi_sec_cipher_recv(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_cipher_recv(handle_t ctx, void *cipher_msg)
|
||||
+int hisi_sec_cipher_recv(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_cipher_msg *recv_msg = cipher_msg;
|
||||
@ -237,12 +239,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -1295,10 +1378,10 @@ static int fill_cipher_bd3(struct wd_cipher_msg *msg, struct hisi_sec_sqe3 *sqe)
|
||||
@@ -1296,10 +1379,10 @@ static int fill_cipher_bd3(struct wd_cipher_msg *msg, struct hisi_sec_sqe3 *sqe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int hisi_sec_cipher_send_v3(struct wd_alg_driver *drv, handle_t ctx, void *cipher_msg)
|
||||
+static int hisi_sec_cipher_send_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_cipher_send_v3(handle_t ctx, void *cipher_msg)
|
||||
+static int hisi_sec_cipher_send_v3(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_cipher_msg *msg = cipher_msg;
|
||||
@ -250,12 +252,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe3 sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -1385,10 +1468,10 @@ static void parse_cipher_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe,
|
||||
@@ -1386,10 +1469,10 @@ static void parse_cipher_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe,
|
||||
dump_sec_msg(temp_msg, "cipher");
|
||||
}
|
||||
|
||||
-int hisi_sec_cipher_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *cipher_msg)
|
||||
+static int hisi_sec_cipher_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_cipher_recv_v3(handle_t ctx, void *cipher_msg)
|
||||
+int hisi_sec_cipher_recv_v3(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_cipher_msg *recv_msg = cipher_msg;
|
||||
@ -263,12 +265,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe3 sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -1658,10 +1741,10 @@ static int digest_len_check(struct wd_digest_msg *msg, enum sec_bd_type type)
|
||||
@@ -1659,10 +1742,10 @@ static int digest_len_check(struct wd_digest_msg *msg, enum sec_bd_type type)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int hisi_sec_digest_send(struct wd_alg_driver *drv, handle_t ctx, void *digest_msg)
|
||||
+static int hisi_sec_digest_send(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_digest_send(handle_t ctx, void *digest_msg)
|
||||
+static int hisi_sec_digest_send(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_digest_msg *msg = digest_msg;
|
||||
@ -276,12 +278,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe sqe;
|
||||
__u16 count = 0;
|
||||
__u8 scene;
|
||||
@@ -1725,10 +1808,10 @@ put_sgl:
|
||||
@@ -1726,10 +1809,10 @@ put_sgl:
|
||||
return ret;
|
||||
}
|
||||
|
||||
-int hisi_sec_digest_recv(struct wd_alg_driver *drv, handle_t ctx, void *digest_msg)
|
||||
+static int hisi_sec_digest_recv(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_digest_recv(handle_t ctx, void *digest_msg)
|
||||
+int hisi_sec_digest_recv(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_digest_msg *recv_msg = digest_msg;
|
||||
@ -289,12 +291,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -1902,10 +1985,10 @@ static void fill_digest_v3_scene(struct hisi_sec_sqe3 *sqe,
|
||||
@@ -1903,10 +1986,10 @@ static void fill_digest_v3_scene(struct hisi_sec_sqe3 *sqe,
|
||||
sqe->bd_param |= (__u16)(de | scene);
|
||||
}
|
||||
|
||||
-int hisi_sec_digest_send_v3(struct wd_alg_driver *drv, handle_t ctx, void *digest_msg)
|
||||
+static int hisi_sec_digest_send_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_digest_send_v3(handle_t ctx, void *digest_msg)
|
||||
+static int hisi_sec_digest_send_v3(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_digest_msg *msg = digest_msg;
|
||||
@ -302,12 +304,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe3 sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -2001,10 +2084,10 @@ static void parse_digest_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe,
|
||||
@@ -2002,10 +2085,10 @@ static void parse_digest_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe,
|
||||
dump_sec_msg(temp_msg, "digest");
|
||||
}
|
||||
|
||||
-int hisi_sec_digest_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *digest_msg)
|
||||
+static int hisi_sec_digest_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_digest_recv_v3(handle_t ctx, void *digest_msg)
|
||||
+int hisi_sec_digest_recv_v3(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_digest_msg *recv_msg = digest_msg;
|
||||
@ -315,12 +317,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe3 sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -2473,10 +2556,10 @@ int aead_msg_state_check(struct wd_aead_msg *msg)
|
||||
@@ -2474,10 +2557,10 @@ int aead_msg_state_check(struct wd_aead_msg *msg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int hisi_sec_aead_send(struct wd_alg_driver *drv, handle_t ctx, void *aead_msg)
|
||||
+static int hisi_sec_aead_send(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_aead_send(handle_t ctx, void *aead_msg)
|
||||
+static int hisi_sec_aead_send(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_aead_msg *msg = aead_msg;
|
||||
@ -328,12 +330,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -2595,10 +2678,10 @@ static bool soft_compute_check(struct hisi_qp *qp, struct wd_aead_msg *msg)
|
||||
@@ -2596,10 +2679,10 @@ static bool soft_compute_check(struct hisi_qp *qp, struct wd_aead_msg *msg)
|
||||
qp->q_info.qp_mode == CTX_MODE_SYNC;
|
||||
}
|
||||
|
||||
-int hisi_sec_aead_recv(struct wd_alg_driver *drv, handle_t ctx, void *aead_msg)
|
||||
+static int hisi_sec_aead_recv(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_aead_recv(handle_t ctx, void *aead_msg)
|
||||
+int hisi_sec_aead_recv(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_aead_msg *recv_msg = aead_msg;
|
||||
@ -341,12 +343,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -2857,10 +2940,10 @@ static int fill_aead_bd3(struct wd_aead_msg *msg, struct hisi_sec_sqe3 *sqe)
|
||||
@@ -2858,10 +2941,10 @@ static int fill_aead_bd3(struct wd_aead_msg *msg, struct hisi_sec_sqe3 *sqe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int hisi_sec_aead_send_v3(struct wd_alg_driver *drv, handle_t ctx, void *aead_msg)
|
||||
+static int hisi_sec_aead_send_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_aead_send_v3(handle_t ctx, void *aead_msg)
|
||||
+static int hisi_sec_aead_send_v3(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_aead_msg *msg = aead_msg;
|
||||
@ -354,12 +356,12 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe3 sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -2957,10 +3040,10 @@ static void parse_aead_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe,
|
||||
@@ -2958,10 +3041,10 @@ static void parse_aead_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe,
|
||||
dump_sec_msg(temp_msg, "aead");
|
||||
}
|
||||
|
||||
-int hisi_sec_aead_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *aead_msg)
|
||||
+static int hisi_sec_aead_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *wd_msg)
|
||||
-int hisi_sec_aead_recv_v3(handle_t ctx, void *aead_msg)
|
||||
+int hisi_sec_aead_recv_v3(handle_t ctx, void *wd_msg)
|
||||
{
|
||||
handle_t h_qp = (handle_t)wd_ctx_get_priv(ctx);
|
||||
- struct wd_aead_msg *recv_msg = aead_msg;
|
||||
@ -367,7 +369,7 @@ index 03e7037..9bf7e68 100644
|
||||
struct hisi_sec_sqe3 sqe;
|
||||
__u16 count = 0;
|
||||
int ret;
|
||||
@@ -2985,50 +3068,6 @@ int hisi_sec_aead_recv_v3(struct wd_alg_driver *drv, handle_t ctx, void *aead_ms
|
||||
@@ -2986,50 +3069,6 @@ int hisi_sec_aead_recv_v3(handle_t ctx, void *aead_msg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -415,17 +417,17 @@ index 03e7037..9bf7e68 100644
|
||||
- }
|
||||
-}
|
||||
-
|
||||
static int hisi_sec_init(struct wd_alg_driver *drv, void *conf)
|
||||
static int hisi_sec_init(void *conf, void *priv)
|
||||
{
|
||||
struct hisi_sec_ctx *priv = (struct hisi_sec_ctx *)drv->priv;
|
||||
@@ -3069,7 +3108,6 @@ static int hisi_sec_init(struct wd_alg_driver *drv, void *conf)
|
||||
struct wd_ctx_config_internal *config = conf;
|
||||
@@ -3061,7 +3100,6 @@ static int hisi_sec_init(void *conf, void *priv)
|
||||
config->ctxs[i].sqn = qm_priv.sqn;
|
||||
}
|
||||
memcpy(&priv->config, config, sizeof(struct wd_ctx_config_internal));
|
||||
memcpy(&sec_ctx->config, config, sizeof(struct wd_ctx_config_internal));
|
||||
- hisi_sec_driver_adapter((struct hisi_qp *)h_qp);
|
||||
drv->priv = priv;
|
||||
|
||||
return 0;
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 90511556722f51dcd6a6a4172943ee32e52db267 Mon Sep 17 00:00:00 2001
|
||||
From 7db9d07daf3dfa991f5665902f8d55a24785bfbb Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 17:12:17 +0800
|
||||
Subject: [PATCH 094/114] uadk: code cleanup for error codes and variable type
|
||||
Subject: [PATCH 103/123] uadk: code cleanup for error codes and variable type
|
||||
|
||||
Unify the use of error return name. Modify the variable
|
||||
type in hisi_sec to reduce variable conversion.
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
|
||||
2 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drv/hisi_sec.c b/drv/hisi_sec.c
|
||||
index 9bf7e68..2f03d1f 100644
|
||||
index 747281a..14952e7 100644
|
||||
--- a/drv/hisi_sec.c
|
||||
+++ b/drv/hisi_sec.c
|
||||
@@ -517,12 +517,12 @@ struct hisi_sec_sqe3 {
|
||||
@ -31,7 +31,7 @@ index 9bf7e68..2f03d1f 100644
|
||||
A_ALG_HMAC_SM3, A_ALG_HMAC_MD5, A_ALG_HMAC_SHA1,
|
||||
A_ALG_HMAC_SHA256, A_ALG_HMAC_SHA224, A_ALG_HMAC_SHA384,
|
||||
A_ALG_HMAC_SHA512, A_ALG_HMAC_SHA512_224, A_ALG_HMAC_SHA512_256,
|
||||
@@ -1518,7 +1518,7 @@ static int fill_digest_bd2_alg(struct wd_digest_msg *msg,
|
||||
@@ -1519,7 +1519,7 @@ static int fill_digest_bd2_alg(struct wd_digest_msg *msg,
|
||||
|
||||
if (msg->mode == WD_DIGEST_NORMAL)
|
||||
sqe->type2.mac_key_alg |=
|
||||
@ -40,7 +40,7 @@ index 9bf7e68..2f03d1f 100644
|
||||
else if (msg->mode == WD_DIGEST_HMAC) {
|
||||
if (msg->key_bytes & WORD_ALIGNMENT_MASK) {
|
||||
WD_ERR("failed to check digest key_bytes, size = %u\n",
|
||||
@@ -1530,7 +1530,7 @@ static int fill_digest_bd2_alg(struct wd_digest_msg *msg,
|
||||
@@ -1531,7 +1531,7 @@ static int fill_digest_bd2_alg(struct wd_digest_msg *msg,
|
||||
sqe->type2.a_key_addr = (__u64)(uintptr_t)msg->key;
|
||||
|
||||
sqe->type2.mac_key_alg |=
|
||||
@ -49,7 +49,7 @@ index 9bf7e68..2f03d1f 100644
|
||||
} else {
|
||||
WD_ERR("failed to check digest mode, mode = %u\n", msg->mode);
|
||||
return -WD_EINVAL;
|
||||
@@ -1887,7 +1887,7 @@ static int fill_digest_bd3_alg(struct wd_digest_msg *msg,
|
||||
@@ -1888,7 +1888,7 @@ static int fill_digest_bd3_alg(struct wd_digest_msg *msg,
|
||||
|
||||
if (msg->mode == WD_DIGEST_NORMAL) {
|
||||
sqe->auth_mac_key |=
|
||||
@ -58,7 +58,7 @@ index 9bf7e68..2f03d1f 100644
|
||||
} else if (msg->mode == WD_DIGEST_HMAC) {
|
||||
ret = hmac_key_len_check(msg);
|
||||
if (ret)
|
||||
@@ -1897,7 +1897,7 @@ static int fill_digest_bd3_alg(struct wd_digest_msg *msg,
|
||||
@@ -1898,7 +1898,7 @@ static int fill_digest_bd3_alg(struct wd_digest_msg *msg,
|
||||
WORD_BYTES) << SEC_AKEY_OFFSET_V3;
|
||||
sqe->a_key_addr = (__u64)(uintptr_t)msg->key;
|
||||
sqe->auth_mac_key |=
|
||||
@ -68,7 +68,7 @@ index 9bf7e68..2f03d1f 100644
|
||||
if (msg->alg == WD_DIGEST_AES_GMAC) {
|
||||
sqe->auth_mac_key |= AI_GEN_IVIN_ADDR << SEC_AI_GEN_OFFSET_V3;
|
||||
diff --git a/wd.c b/wd.c
|
||||
index a6e207d..be374f5 100644
|
||||
index 998c9be..2d9a42c 100644
|
||||
--- a/wd.c
|
||||
+++ b/wd.c
|
||||
@@ -228,7 +228,7 @@ static int get_dev_info(struct uacce_dev *dev)
|
||||
@ -90,5 +90,5 @@ index a6e207d..be374f5 100644
|
||||
|
||||
ret = get_int_attr(dev, "region_mmio_size", &value);
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From f118a291c4aacebf60c3c532d004581d125df6a1 Mon Sep 17 00:00:00 2001
|
||||
From 4ee1811e3dd7dc22946204f239448b901df075a7 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Thu, 30 Nov 2023 17:14:45 +0800
|
||||
Subject: [PATCH 095/114] uadk/sec: add a return value judgement
|
||||
Subject: [PATCH 104/123] uadk/sec: add a return value judgement
|
||||
|
||||
Add return value judgement of aead_get_aes_key_len().
|
||||
|
||||
@ -11,10 +11,10 @@ Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drv/hisi_sec.c b/drv/hisi_sec.c
|
||||
index 2f03d1f..9102a27 100644
|
||||
index 14952e7..4421dfc 100644
|
||||
--- a/drv/hisi_sec.c
|
||||
+++ b/drv/hisi_sec.c
|
||||
@@ -2152,6 +2152,8 @@ static int fill_aead_bd2_alg(struct wd_aead_msg *msg,
|
||||
@@ -2153,6 +2153,8 @@ static int fill_aead_bd2_alg(struct wd_aead_msg *msg,
|
||||
case WD_CIPHER_AES:
|
||||
sqe->type2.c_alg = C_ALG_AES;
|
||||
ret = aead_get_aes_key_len(msg, &c_key_len);
|
||||
@ -23,7 +23,7 @@ index 2f03d1f..9102a27 100644
|
||||
sqe->type2.icvw_kmode = (__u16)c_key_len << SEC_CKEY_OFFSET;
|
||||
break;
|
||||
default:
|
||||
@@ -2721,6 +2723,8 @@ static int fill_aead_bd3_alg(struct wd_aead_msg *msg,
|
||||
@@ -2722,6 +2724,8 @@ static int fill_aead_bd3_alg(struct wd_aead_msg *msg,
|
||||
case WD_CIPHER_AES:
|
||||
sqe->c_mode_alg |= C_ALG_AES << SEC_CALG_OFFSET_V3;
|
||||
ret = aead_get_aes_key_len(msg, &c_key_len);
|
||||
@ -33,5 +33,5 @@ index 2f03d1f..9102a27 100644
|
||||
break;
|
||||
default:
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 697b131a5a08586fb731c160c89c86e107f11984 Mon Sep 17 00:00:00 2001
|
||||
From 493f0bab40ff7bd083d2bfff1fcb78b411ffac6f Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:17:22 +0800
|
||||
Subject: [PATCH 096/114] uadk: Add file association
|
||||
Subject: [PATCH 105/123] uadk: Add file association
|
||||
|
||||
Add wd_comp file to zip.
|
||||
|
||||
@ -27,5 +27,5 @@ index 657ed20..e9ec47a 100644
|
||||
libhisi_sec_la_LIBADD= -lwd -lwd_crypto
|
||||
libhisi_sec_la_LDFLAGS=$(UADK_VERSION)
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 044afdf1f90573c3a44187f7759461f496bf7bf8 Mon Sep 17 00:00:00 2001
|
||||
From 249ad7add2778b108c852faf3d65174518a44849 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:18:43 +0800
|
||||
Subject: [PATCH 097/114] uadk: fix the failure process bug
|
||||
Subject: [PATCH 106/123] uadk: fix the failure process bug
|
||||
|
||||
After a failure message is returned due to a calloc exception,
|
||||
the mp-ref count must be decreased by 1. Otherwise, an infinite
|
||||
@ -35,5 +35,5 @@ index cb8c80b..ed107d1 100644
|
||||
return (handle_t)(-WD_ENOMEM);
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From f7a2fb057185759708d8b9712608150c9dccafef Mon Sep 17 00:00:00 2001
|
||||
From bb600d5a9178ce32375edfce50a8a568a88d13a8 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:20:38 +0800
|
||||
Subject: [PATCH 098/114] uadk: fix the failure process bug
|
||||
Subject: [PATCH 107/123] uadk: fix the failure process bug
|
||||
|
||||
After the sem_post operation of full_sem fails, it need to
|
||||
restore empty_sem to ensure that resources are available.
|
||||
@ -12,7 +12,7 @@ Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/wd_util.c b/wd_util.c
|
||||
index 10b0ab9..4867d63 100644
|
||||
index 2892ee9..24e1094 100644
|
||||
--- a/wd_util.c
|
||||
+++ b/wd_util.c
|
||||
@@ -1398,6 +1398,7 @@ err_out:
|
||||
@ -24,5 +24,5 @@ index 10b0ab9..4867d63 100644
|
||||
return ret;
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 9de8de67355430cfa9764109655af988cb7c031e Mon Sep 17 00:00:00 2001
|
||||
From 2343c310e30e6df6be3aa421c8f9e6307bc3b852 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:23:32 +0800
|
||||
Subject: [PATCH 099/114] uadk: fix the failure process+bug
|
||||
Subject: [PATCH 108/123] uadk: fix the failure process+bug
|
||||
|
||||
Assign numa_num to sched_ctx before err_out
|
||||
for wd_scheduling_rr_release release memoryc orrectly.
|
||||
@ -32,5 +32,5 @@ index 7aeea73..419280e 100644
|
||||
|
||||
sched->sched_init = sched_table[sched_type].sched_init;
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From bf5a2e34368228538436a3856fd69167a6897516 Mon Sep 17 00:00:00 2001
|
||||
From a815a003a4c679b8ce35ae6f97b8601da78dd811 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:25:47 +0800
|
||||
Subject: [PATCH 100/114] uadk: bugfix
|
||||
Subject: [PATCH 109/123] uadk: bugfix
|
||||
|
||||
Replace strncpy with memcpy to avoid compilation warnings.
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/wd.c b/wd.c
|
||||
index be374f5..b08abab 100644
|
||||
index 2d9a42c..abadcf9 100644
|
||||
--- a/wd.c
|
||||
+++ b/wd.c
|
||||
@@ -426,7 +426,7 @@ handle_t wd_request_ctx(struct uacce_dev *dev)
|
||||
@ -24,5 +24,5 @@ index be374f5..b08abab 100644
|
||||
|
||||
return (handle_t)ctx;
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 111d3b3688063ec0f40171f837f0f0bde68b7e25 Mon Sep 17 00:00:00 2001
|
||||
From c283c0d1b5a682e1658bb22c9f3d493fd5734eb5 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:29:22 +0800
|
||||
Subject: [PATCH 101/114] uadk v1: adapter code cleanup
|
||||
Subject: [PATCH 110/123] uadk v1: adapter code cleanup
|
||||
|
||||
Delete unnecessary processing.
|
||||
|
||||
@ -35,5 +35,5 @@ index 6b0b4d8..6e95562 100644
|
||||
if (ret < 0) {
|
||||
drv_show_ss_slices(q);
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From f99c4bfe4aec8110043bd88df0f52b47ed8e05e8 Mon Sep 17 00:00:00 2001
|
||||
From 229d6b81c9ac88bc3152bbdad07da247ff1261f2 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:30:23 +0800
|
||||
Subject: [PATCH 102/114] uadk v1: fix wd_rng resource release bug
|
||||
Subject: [PATCH 111/123] uadk v1: fix wd_rng resource release bug
|
||||
|
||||
Before wd_free_id and ctx_num are released, check
|
||||
whether ctx_num is less than or equal to 0 to
|
||||
@ -36,5 +36,5 @@ index 927665f..24a4b7a 100644
|
||||
|
||||
free(ctx);
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 294719db475aeb6f13dbc8b364b6ce1e48846f40 Mon Sep 17 00:00:00 2001
|
||||
From 878a9677dfc6fbfbf8d01444efbce6860e11f0fd Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:33:19 +0800
|
||||
Subject: [PATCH 103/114] uadk v1: code cleanup for error codes and header
|
||||
Subject: [PATCH 112/123] uadk v1: code cleanup for error codes and header
|
||||
files
|
||||
|
||||
Unify the use of error return name. Adjusting the
|
||||
@ -231,5 +231,5 @@ index 3839304..26e7af3 100644
|
||||
{
|
||||
if (!log) {
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 98c371e0c0ff955befb8a10a9b426bb5c0aea776 Mon Sep 17 00:00:00 2001
|
||||
From 310c4d1a49f1d1599dc5bd3046b064e2a5fccbb5 Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:35:02 +0800
|
||||
Subject: [PATCH 104/114] uadk: concentrate the same definitions
|
||||
Subject: [PATCH 113/123] uadk: concentrate the same definitions
|
||||
|
||||
The sec algorithm has multiple common header files,
|
||||
so they are centrally stored in wd_alg_common.
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
|
||||
7 files changed, 15 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/drv/hisi_sec.c b/drv/hisi_sec.c
|
||||
index 9102a27..5b114f6 100644
|
||||
index 4421dfc..08f91b6 100644
|
||||
--- a/drv/hisi_sec.c
|
||||
+++ b/drv/hisi_sec.c
|
||||
@@ -63,13 +63,6 @@
|
||||
@ -35,7 +35,7 @@ index 9102a27..5b114f6 100644
|
||||
#define DES3_BLOCK_SIZE 8
|
||||
#define AES_BLOCK_SIZE 16
|
||||
#define CTR_128BIT_COUNTER 16
|
||||
@@ -823,9 +816,9 @@ static void update_iv_sgl(struct wd_cipher_msg *msg)
|
||||
@@ -824,9 +817,9 @@ static void update_iv_sgl(struct wd_cipher_msg *msg)
|
||||
|
||||
static int get_3des_c_key_len(struct wd_cipher_msg *msg, __u8 *c_key_len)
|
||||
{
|
||||
@ -97,7 +97,7 @@ index ad4d579..f0916c3 100644
|
||||
* wd_digest_type - Algorithm type of digest
|
||||
* algorithm should be offered by struct wd_digest_arg
|
||||
diff --git a/wd_aead.c b/wd_aead.c
|
||||
index 6d49d76..34a3b86 100644
|
||||
index 05f8883..abbdf8d 100644
|
||||
--- a/wd_aead.c
|
||||
+++ b/wd_aead.c
|
||||
@@ -10,15 +10,6 @@
|
||||
@ -117,7 +117,7 @@ index 6d49d76..34a3b86 100644
|
||||
#define WD_AEAD_CCM_GCM_MAX 16
|
||||
|
||||
diff --git a/wd_cipher.c b/wd_cipher.c
|
||||
index 47c0bf8..f35ce6f 100644
|
||||
index 22fb2c7..eb10a5c 100644
|
||||
--- a/wd_cipher.c
|
||||
+++ b/wd_cipher.c
|
||||
@@ -13,13 +13,6 @@
|
||||
@ -135,7 +135,7 @@ index 47c0bf8..f35ce6f 100644
|
||||
#define DES_WEAK_KEY_NUM 16
|
||||
|
||||
diff --git a/wd_digest.c b/wd_digest.c
|
||||
index 9008bcb..acf341a 100644
|
||||
index e119b42..8cd3ef2 100644
|
||||
--- a/wd_digest.c
|
||||
+++ b/wd_digest.c
|
||||
@@ -10,16 +10,7 @@
|
||||
@ -156,5 +156,5 @@ index 9008bcb..acf341a 100644
|
||||
static __u32 g_digest_mac_len[WD_DIGEST_TYPE_MAX] = {
|
||||
WD_DIGEST_SM3_LEN, WD_DIGEST_MD5_LEN, WD_DIGEST_SHA1_LEN,
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 6ca1f2190a37490b5dc84f04f70cca945355da1e Mon Sep 17 00:00:00 2001
|
||||
From b489bf9429ece77fa0bef1616871d80072a50fae Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:36:12 +0800
|
||||
Subject: [PATCH 105/114] uadk v1: optimize the function length
|
||||
Subject: [PATCH 114/123] uadk v1: optimize the function length
|
||||
|
||||
The number of lines in the param_check function exceeds 50,
|
||||
so subfunctions are added for optimization.
|
||||
@ -129,5 +129,5 @@ index b8ea5ce..df8a8af 100644
|
||||
if (unlikely(tag && !tag[i])) {
|
||||
WD_ERR("invalid: tag[%u] is NULL!\n", i);
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 0580da2ecffbd20a392c987e28a0d164c6aa2b56 Mon Sep 17 00:00:00 2001
|
||||
From a470786b499641f10720dbcd3dbe257499d64d2d Mon Sep 17 00:00:00 2001
|
||||
From: Qi Tao <taoqi10@huawei.com>
|
||||
Date: Mon, 4 Dec 2023 17:37:24 +0800
|
||||
Subject: [PATCH 106/114] uadk v1: concentrate the same definitions
|
||||
Subject: [PATCH 115/123] uadk v1: concentrate the same definitions
|
||||
|
||||
The sec algorithm has multiple common header files,
|
||||
so they are centrally stored in wd_alg_common.
|
||||
@ -155,5 +155,5 @@ index bf17058..9e5fa90 100644
|
||||
#define X_DH_HW_KEY_SZ(hsz) ((hsz) * X_DH_HW_KEY_PARAM_NUM)
|
||||
#define SM2_KG_OUT_PARAMS_SZ(hsz) ((hsz) * SM2_KG_OUT_PARAM_NUM)
|
||||
--
|
||||
2.25.1
|
||||
2.31.1.windows.1
|
||||
|
||||
165
0116-uadk-v1-fix-security-view-issues-of-hpre.patch
Normal file
165
0116-uadk-v1-fix-security-view-issues-of-hpre.patch
Normal file
@ -0,0 +1,165 @@
|
||||
From ff170d66d338d4131fd105704427a77d719659c0 Mon Sep 17 00:00:00 2001
|
||||
From: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
Date: Thu, 7 Dec 2023 19:19:02 +0800
|
||||
Subject: [PATCH 116/123] uadk/v1: fix security view issues of hpre
|
||||
|
||||
1. Add parameter check when fill rsa pubkey.
|
||||
2. Modify addr seqence in DMA_ADDR().
|
||||
3. Modify redundant code.
|
||||
|
||||
Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
---
|
||||
v1/drv/hisi_hpre_udrv.c | 22 +++++++++++++---------
|
||||
v1/wd_ecc.c | 11 ++++++++---
|
||||
v1/wd_rsa.c | 3 +++
|
||||
3 files changed, 24 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/v1/drv/hisi_hpre_udrv.c b/v1/drv/hisi_hpre_udrv.c
|
||||
index 0d0c3b4..3f8029b 100644
|
||||
--- a/v1/drv/hisi_hpre_udrv.c
|
||||
+++ b/v1/drv/hisi_hpre_udrv.c
|
||||
@@ -40,7 +40,7 @@
|
||||
#define HPRE_SM2_ENC 0xE
|
||||
#define HPRE_SM2_DEC 0xF
|
||||
|
||||
-#define SM2_SQE_NUM 2
|
||||
+#define SM2_SQE_NUM 2
|
||||
|
||||
static bool is_hpre_bin_fmt(const char *data, int dsz, int bsz)
|
||||
{
|
||||
@@ -203,6 +203,11 @@ static int qm_fill_rsa_pubkey(struct wcrypto_rsa_pubkey *pubkey, void **data)
|
||||
int ret;
|
||||
|
||||
wcrypto_get_rsa_pubkey_params(pubkey, &wd_e, &wd_n);
|
||||
+ if (unlikely(!wd_e || !wd_n)) {
|
||||
+ WD_ERR("failed to get rsa pubkey params!\n");
|
||||
+ return -WD_EINVAL;
|
||||
+ }
|
||||
+
|
||||
ret = qm_crypto_bin_to_hpre_bin(wd_e->data, (const char *)wd_e->data,
|
||||
wd_e->bsize, wd_e->dsize, "rsa pubkey e");
|
||||
if (unlikely(ret))
|
||||
@@ -330,7 +335,7 @@ static void rsa_key_unmap(struct wcrypto_rsa_msg *msg, struct wd_queue *q,
|
||||
struct wcrypto_rsa_kg_out *key = (void *)msg->key;
|
||||
uintptr_t phy;
|
||||
|
||||
- phy = DMA_ADDR(hw_msg->low_key, hw_msg->hi_key);
|
||||
+ phy = DMA_ADDR(hw_msg->hi_key, hw_msg->low_key);
|
||||
phy -= (uintptr_t)va - (uintptr_t)key;
|
||||
|
||||
drv_iova_unmap(q, msg->key, (void *)phy, size);
|
||||
@@ -597,7 +602,7 @@ static int fill_dh_g_param(struct wd_queue *q, struct wcrypto_dh_msg *msg,
|
||||
static void dh_g_unmap(struct wcrypto_dh_msg *msg, struct wd_queue *q,
|
||||
struct hisi_hpre_sqe *hw_msg)
|
||||
{
|
||||
- uintptr_t phy = DMA_ADDR(hw_msg->low_in, hw_msg->hi_in);
|
||||
+ uintptr_t phy = DMA_ADDR(hw_msg->hi_in, hw_msg->low_in);
|
||||
if (phy)
|
||||
drv_iova_unmap(q, msg->g, (void *)phy, msg->key_bytes);
|
||||
}
|
||||
@@ -605,7 +610,7 @@ static void dh_g_unmap(struct wcrypto_dh_msg *msg, struct wd_queue *q,
|
||||
static void dh_xp_unmap(struct wcrypto_dh_msg *msg, struct wd_queue *q,
|
||||
struct hisi_hpre_sqe *hw_msg)
|
||||
{
|
||||
- uintptr_t phy = DMA_ADDR(hw_msg->low_key, hw_msg->hi_key);
|
||||
+ uintptr_t phy = DMA_ADDR(hw_msg->hi_key, hw_msg->low_key);
|
||||
|
||||
drv_iova_unmap(q, msg->x_p, (void *)phy, GEN_PARAMS_SZ_UL(msg->key_bytes));
|
||||
}
|
||||
@@ -1008,7 +1013,7 @@ static void ecc_key_unmap(struct wcrypto_ecc_msg *msg, struct wd_queue *q,
|
||||
{
|
||||
uintptr_t phy;
|
||||
|
||||
- phy = DMA_ADDR(hw_msg->low_key, hw_msg->hi_key);
|
||||
+ phy = DMA_ADDR(hw_msg->hi_key, hw_msg->low_key);
|
||||
drv_iova_unmap(q, va, (void *)phy, size);
|
||||
}
|
||||
|
||||
@@ -1586,8 +1591,7 @@ static int ecc_verf_out_transfer(struct wcrypto_ecc_msg *msg,
|
||||
{
|
||||
__u32 result = hw_msg->low_out;
|
||||
|
||||
- result >>= 1;
|
||||
- result &= 1;
|
||||
+ result = (result >> 1) & 1;
|
||||
if (!result)
|
||||
msg->result = WD_VERIFY_ERR;
|
||||
|
||||
@@ -1667,7 +1671,7 @@ static int qm_fill_ecc_sqe_general(void *message, struct qm_queue_info *info,
|
||||
hw_msg = (struct hisi_hpre_sqe *)sqe;
|
||||
|
||||
memset(hw_msg, 0, sizeof(struct hisi_hpre_sqe));
|
||||
- hw_msg->task_len1 = msg->key_bytes / BYTE_BITS - 0x1;
|
||||
+ hw_msg->task_len1 = ((msg->key_bytes) >> BYTE_BITS_SHIFT) - 0x1;
|
||||
|
||||
/* prepare algorithm */
|
||||
ret = qm_ecc_prepare_alg(hw_msg, msg);
|
||||
@@ -2327,7 +2331,7 @@ static int sm2_convert_enc_out(struct wcrypto_ecc_msg *src,
|
||||
/* enc origin out data fmt:
|
||||
* | x1y1(2*256bit) | x2y2(2*256bit) | other |
|
||||
* final out data fmt:
|
||||
- * | c1(2*256bit) | c2(plaintext size) | c3(256bit) |
|
||||
+ * | c1(2*256bit) | c3(256bit) | c2(plaintext size) |
|
||||
*/
|
||||
x2y2.x.data = (void *)second->out;
|
||||
x2y2.x.dsize = ksz;
|
||||
diff --git a/v1/wd_ecc.c b/v1/wd_ecc.c
|
||||
index 7650b2b..597926d 100644
|
||||
--- a/v1/wd_ecc.c
|
||||
+++ b/v1/wd_ecc.c
|
||||
@@ -428,7 +428,7 @@ static struct wcrypto_ecc_in *create_sm2_sign_in(struct wcrypto_ecc_ctx *ctx,
|
||||
|
||||
hsz = get_hw_keysize(ctx->key_size);
|
||||
len = sizeof(struct wcrypto_ecc_in)
|
||||
- + ECC_SIGN_IN_PARAM_NUM * hsz + (__u64)m_len;
|
||||
+ + ECC_SIGN_IN_PARAM_NUM * hsz + m_len;
|
||||
in = br_alloc(br, len);
|
||||
if (unlikely(!in)) {
|
||||
WD_ERR("failed to br alloc, sz = %llu!\n", len);
|
||||
@@ -1802,6 +1802,11 @@ static int generate_random(struct wcrypto_ecc_ctx *ctx, struct wd_dtb *k)
|
||||
struct wcrypto_rand_mt *rand_mt = &ctx->setup.rand;
|
||||
int ret;
|
||||
|
||||
+ if (!rand_mt->cb) {
|
||||
+ WD_ERR("failed to get rand cb!\n");
|
||||
+ return -WD_EINVAL;
|
||||
+ }
|
||||
+
|
||||
ret = rand_mt->cb(k->data, k->dsize, rand_mt->usr);
|
||||
if (unlikely(ret))
|
||||
WD_ERR("failed to rand cb: ret = %d!\n", ret);
|
||||
@@ -1932,7 +1937,7 @@ static struct wcrypto_ecc_in *new_sign_in(struct wcrypto_ecc_ctx *ctx,
|
||||
return NULL;
|
||||
|
||||
sin = &ecc_in->param.sin;
|
||||
- if (!k && cx->setup.rand.cb) {
|
||||
+ if (!k) {
|
||||
ret = generate_random(cx, &sin->k);
|
||||
if (unlikely(ret))
|
||||
goto release_in;
|
||||
@@ -2018,7 +2023,7 @@ static struct wcrypto_ecc_in *create_sm2_verf_in(struct wcrypto_ecc_ctx *ctx,
|
||||
|
||||
hsz = get_hw_keysize(ctx->key_size);
|
||||
len = sizeof(struct wcrypto_ecc_in) + ECC_VERF_IN_PARAM_NUM * hsz +
|
||||
- (__u64)m_len;
|
||||
+ m_len;
|
||||
in = br_alloc(br, len);
|
||||
if (unlikely(!in)) {
|
||||
WD_ERR("failed to br alloc, sz = %llu!\n", len);
|
||||
diff --git a/v1/wd_rsa.c b/v1/wd_rsa.c
|
||||
index 9e467d0..90c8f84 100644
|
||||
--- a/v1/wd_rsa.c
|
||||
+++ b/v1/wd_rsa.c
|
||||
@@ -798,6 +798,9 @@ static int rsa_prikey2_param_set(struct wcrypto_rsa_prikey2 *pkey2,
|
||||
case WD_CRT_PRIKEY_Q:
|
||||
ret = rsa_set_param(&pkey2->q, param);
|
||||
break;
|
||||
+ default:
|
||||
+ ret = -WD_EINVAL;
|
||||
+ break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
--
|
||||
2.31.1.windows.1
|
||||
|
||||
635
0117-uadk-cleanup-issues-of-hpre.patch
Normal file
635
0117-uadk-cleanup-issues-of-hpre.patch
Normal file
@ -0,0 +1,635 @@
|
||||
From a3d3397b5b2c8fe8908519bc7626f5c5678df494 Mon Sep 17 00:00:00 2001
|
||||
From: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
Date: Thu, 7 Dec 2023 19:19:03 +0800
|
||||
Subject: [PATCH 117/123] uadk: cleanup issues of hpre
|
||||
|
||||
1. Remove redundant code.
|
||||
2. Use safer and more efficient method to distinguish
|
||||
algorithms.
|
||||
3. Modify return value style.
|
||||
|
||||
Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
---
|
||||
drv/hisi_hpre.c | 101 ++++++++++++++++++++++++++++--------------------
|
||||
wd_dh.c | 16 ++++----
|
||||
wd_ecc.c | 33 +++++++++-------
|
||||
wd_rsa.c | 14 +++----
|
||||
4 files changed, 93 insertions(+), 71 deletions(-)
|
||||
|
||||
diff --git a/drv/hisi_hpre.c b/drv/hisi_hpre.c
|
||||
index 2f8a5d6..53ebe52 100644
|
||||
--- a/drv/hisi_hpre.c
|
||||
+++ b/drv/hisi_hpre.c
|
||||
@@ -39,6 +39,8 @@
|
||||
#define GEN_PARAMS_SZ(key_size) ((key_size) << 1)
|
||||
#define CRT_PARAM_SZ(key_size) ((key_size) >> 1)
|
||||
|
||||
+#define WD_TRANS_FAIL 0
|
||||
+
|
||||
enum hpre_alg_type {
|
||||
HPRE_ALG_NC_NCRT = 0x0,
|
||||
HPRE_ALG_NC_CRT = 0x1,
|
||||
@@ -64,6 +66,12 @@ enum hpre_alg_type {
|
||||
HPRE_ALG_SM2_DEC = 0x15
|
||||
};
|
||||
|
||||
+enum hpre_alg_name {
|
||||
+ WD_RSA,
|
||||
+ WD_DH,
|
||||
+ WD_ECC
|
||||
+};
|
||||
+
|
||||
/* put vendor hardware message as a user interface is not suitable here */
|
||||
struct hisi_hpre_sqe {
|
||||
__u32 alg : 5;
|
||||
@@ -101,24 +109,34 @@ struct hisi_hpre_ctx {
|
||||
struct wd_ctx_config_internal config;
|
||||
};
|
||||
|
||||
-static void dump_hpre_msg(void *msg, const char *s)
|
||||
+static void dump_hpre_msg(void *msg, int alg)
|
||||
{
|
||||
struct wd_rsa_msg *rsa_msg;
|
||||
struct wd_ecc_msg *ecc_msg;
|
||||
struct wd_dh_msg *dh_msg;
|
||||
|
||||
- WD_ERR("dump %s alg message after a task error occurs.\n", s);
|
||||
-
|
||||
- if (!strcmp(s, "rsa")) {
|
||||
+ switch (alg) {
|
||||
+ case WD_RSA:
|
||||
rsa_msg = (struct wd_rsa_msg *)msg;
|
||||
- WD_ERR("key_bytes:%u key_type:%u\n", rsa_msg->key_bytes, rsa_msg->key_type);
|
||||
- } else if (!strcmp(s, "ecc")) {
|
||||
- ecc_msg = (struct wd_ecc_msg *)msg;
|
||||
- WD_ERR("key_bytes:%u curve_id:%u\n", ecc_msg->key_bytes, ecc_msg->curve_id);
|
||||
- } else if (!strcmp(s, "dh")) {
|
||||
+ WD_ERR("dump RSA alg message after a task error occurs\n"
|
||||
+ "key_bytes:%u key_type:%u\n", rsa_msg->key_bytes,
|
||||
+ rsa_msg->key_type);
|
||||
+ break;
|
||||
+ case WD_DH:
|
||||
dh_msg = (struct wd_dh_msg *)msg;
|
||||
- WD_ERR("gbytes:%u key_bytes:%u is_g2:%u\n", dh_msg->gbytes,
|
||||
- dh_msg->key_bytes, dh_msg->is_g2);
|
||||
+ WD_ERR("dump DH alg message after a task error occurs\n"
|
||||
+ "gbytes:%u key_bytes:%u is_g2:%u\n", dh_msg->gbytes,
|
||||
+ dh_msg->key_bytes, dh_msg->is_g2);
|
||||
+ break;
|
||||
+ case WD_ECC:
|
||||
+ ecc_msg = (struct wd_ecc_msg *)msg;
|
||||
+ WD_ERR("dump ECC alg message after a task error occurs\n"
|
||||
+ "key_bytes:%u curve_id:%u\n", ecc_msg->key_bytes,
|
||||
+ ecc_msg->curve_id);
|
||||
+ break;
|
||||
+ default:
|
||||
+ WD_ERR("invalid alg!\n");
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,7 +199,7 @@ static int hpre_bin_to_crypto_bin(char *dst, const char *src, __u32 b_size,
|
||||
|
||||
if (!dst || !src || !b_size) {
|
||||
WD_ERR("invalid: %s trans to crypto bin parameters err!\n", p_name);
|
||||
- return 0;
|
||||
+ return WD_TRANS_FAIL;
|
||||
}
|
||||
|
||||
while (!src[j] && k < (b_size - 1))
|
||||
@@ -496,7 +514,7 @@ static int hpre_init_qm_priv(struct wd_ctx_config_internal *config,
|
||||
config->ctxs[i].sqn = qm_priv->sqn;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
out:
|
||||
for (j = 0; j < i; j++) {
|
||||
h_qp = (handle_t)wd_ctx_get_priv(config->ctxs[j].ctx);
|
||||
@@ -523,7 +541,7 @@ static int hpre_rsa_dh_init(void *conf, void *priv)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int hpre_ecc_init(void *conf, void *priv)
|
||||
@@ -543,7 +561,7 @@ static int hpre_ecc_init(void *conf, void *priv)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static void hpre_exit(void *priv)
|
||||
@@ -655,9 +673,9 @@ static int rsa_recv(handle_t ctx, void *rsa_msg)
|
||||
}
|
||||
|
||||
if (unlikely(msg->result != WD_SUCCESS))
|
||||
- dump_hpre_msg(temp_msg, "rsa");
|
||||
+ dump_hpre_msg(temp_msg, WD_RSA);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int fill_dh_xp_params(struct wd_dh_msg *msg,
|
||||
@@ -798,9 +816,9 @@ static int dh_recv(handle_t ctx, void *dh_msg)
|
||||
}
|
||||
|
||||
if (unlikely(msg->result != WD_SUCCESS))
|
||||
- dump_hpre_msg(temp_msg, "dh");
|
||||
+ dump_hpre_msg(temp_msg, WD_DH);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int ecc_prepare_alg(struct wd_ecc_msg *msg,
|
||||
@@ -841,7 +859,7 @@ static int ecc_prepare_alg(struct wd_ecc_msg *msg,
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int trans_cv_param_to_hpre_bin(struct wd_dtb *p, struct wd_dtb *a,
|
||||
@@ -976,7 +994,7 @@ static int ecc_prepare_prikey(struct wd_ecc_key *key, void **data, int id)
|
||||
|
||||
*data = p->data;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int trans_pub_to_hpre_bin(struct wd_ecc_point *pub)
|
||||
@@ -1017,7 +1035,7 @@ static int ecc_prepare_pubkey(struct wd_ecc_key *key, void **data)
|
||||
|
||||
*data = p->data;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static bool is_prikey_used(__u8 op_type)
|
||||
@@ -1050,7 +1068,7 @@ static int ecc_prepare_key(struct wd_ecc_msg *msg,
|
||||
hw_msg->low_key = LW_U32((uintptr_t)data);
|
||||
hw_msg->hi_key = HI_U32((uintptr_t)data);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static void ecc_get_io_len(__u32 atype, __u32 hsz, size_t *ilen,
|
||||
@@ -1146,7 +1164,7 @@ static int ecc_prepare_sign_in(struct wd_ecc_msg *msg,
|
||||
|
||||
*data = e->data;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int ecc_prepare_verf_in(struct wd_ecc_msg *msg,
|
||||
@@ -1188,7 +1206,7 @@ static int ecc_prepare_verf_in(struct wd_ecc_msg *msg,
|
||||
|
||||
*data = e->data;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int sm2_prepare_enc_in(struct wd_ecc_msg *msg,
|
||||
@@ -1211,7 +1229,7 @@ static int sm2_prepare_enc_in(struct wd_ecc_msg *msg,
|
||||
hw_msg->sm2_mlen = ein->plaintext.dsize - 1;
|
||||
*data = k->data;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int sm2_prepare_dec_in(struct wd_ecc_msg *msg,
|
||||
@@ -1235,7 +1253,7 @@ static int sm2_prepare_dec_in(struct wd_ecc_msg *msg,
|
||||
hw_msg->sm2_mlen = din->c2.dsize - 1;
|
||||
*data = c1->x.data;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int ecc_prepare_dh_gen_in(struct wd_ecc_msg *msg,
|
||||
@@ -1256,7 +1274,7 @@ static int ecc_prepare_dh_gen_in(struct wd_ecc_msg *msg,
|
||||
|
||||
*data = in->x.data;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int ecc_prepare_dh_compute_in(struct wd_ecc_msg *msg,
|
||||
@@ -1278,7 +1296,7 @@ static int ecc_prepare_dh_compute_in(struct wd_ecc_msg *msg,
|
||||
|
||||
*data = pbk->x.data;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int u_is_in_p(struct wd_ecc_msg *msg)
|
||||
@@ -1312,7 +1330,7 @@ static int u_is_in_p(struct wd_ecc_msg *msg)
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int ecc_prepare_in(struct wd_ecc_msg *msg,
|
||||
@@ -1369,7 +1387,7 @@ static int ecc_prepare_dh_out(struct wd_ecc_out *out, void **data)
|
||||
|
||||
*data = dh_out->x.data;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int ecc_prepare_out(struct wd_ecc_msg *msg, void **data)
|
||||
@@ -1437,13 +1455,14 @@ static int ecc_prepare_iot(struct wd_ecc_msg *msg,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+ /* op_type WD_ECDSA_VERIFY and WD_SM2_VERIFY do not need data */
|
||||
if (!data)
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
hw_msg->low_out = LW_U32((uintptr_t)data);
|
||||
hw_msg->hi_out = HI_U32((uintptr_t)data);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static __u32 get_hw_keysz(__u32 ksz)
|
||||
@@ -1505,7 +1524,7 @@ static int set_param(struct wd_dtb *dst, const struct wd_dtb *src,
|
||||
memset(dst->data, 0, dst->bsize);
|
||||
memcpy(dst->data, src->data, src->dsize);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int set_prikey(struct wd_ecc_prikey *prikey,
|
||||
@@ -1571,7 +1590,6 @@ static struct wd_ecc_out *create_ecdh_out(struct wd_ecc_msg *msg)
|
||||
dh_out->out.y.data = out->data;
|
||||
dh_out->out.y.dsize = msg->key_bytes;
|
||||
dh_out->out.y.bsize = hsz;
|
||||
- out->size = data_sz;
|
||||
|
||||
memcpy(out->data + data_sz, &msg, sizeof(void *));
|
||||
|
||||
@@ -1598,7 +1616,7 @@ static int init_req(struct wd_ecc_msg *dst, struct wd_ecc_msg *src,
|
||||
else
|
||||
dst->req.src = (void *)&pubkey->pub;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static struct wd_ecc_msg *create_req(struct wd_ecc_msg *src, __u8 req_idx)
|
||||
@@ -1674,7 +1692,7 @@ static int split_req(struct wd_ecc_msg *src, struct wd_ecc_msg **dst)
|
||||
return -WD_ENOMEM;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int ecc_fill(struct wd_ecc_msg *msg, struct hisi_hpre_sqe *hw_msg)
|
||||
@@ -1914,8 +1932,7 @@ static int ecc_verf_out_transfer(struct wd_ecc_msg *msg,
|
||||
{
|
||||
__u32 result = hw_msg->low_out;
|
||||
|
||||
- result >>= 1;
|
||||
- result &= 1;
|
||||
+ result = (result >> 1) & 1;
|
||||
if (!result)
|
||||
msg->result = WD_VERIFY_ERR;
|
||||
|
||||
@@ -2115,7 +2132,7 @@ static int is_equal(struct wd_dtb *src, struct wd_dtb *dst)
|
||||
{
|
||||
if (src->dsize == dst->dsize &&
|
||||
!memcmp(src->data, dst->data, src->dsize)) {
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
return -WD_EINVAL;
|
||||
@@ -2296,7 +2313,7 @@ static int ecc_sqe_parse(struct hisi_qp *qp, struct wd_ecc_msg *msg,
|
||||
return ret;
|
||||
|
||||
dump_err_msg:
|
||||
- dump_hpre_msg(temp_msg, "ecc");
|
||||
+ dump_hpre_msg(temp_msg, WD_ECC);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -2449,7 +2466,7 @@ static int ecc_recv(handle_t ctx, void *ecc_msg)
|
||||
|
||||
static int hpre_get_usage(void *param)
|
||||
{
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
#define GEN_HPRE_ALG_DRIVER(hpre_alg_name) \
|
||||
diff --git a/wd_dh.c b/wd_dh.c
|
||||
index 6bfc0cc..826f40b 100644
|
||||
--- a/wd_dh.c
|
||||
+++ b/wd_dh.c
|
||||
@@ -78,7 +78,7 @@ static int wd_dh_open_driver(void)
|
||||
|
||||
wd_dh_setting.driver = driver;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static void wd_dh_clear_status(void)
|
||||
@@ -116,7 +116,7 @@ static int wd_dh_common_init(struct wd_ctx_config *config, struct wd_sched *sche
|
||||
if (ret)
|
||||
goto out_clear_pool;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
out_clear_pool:
|
||||
wd_uninit_async_request_pool(&wd_dh_setting.pool);
|
||||
@@ -143,7 +143,7 @@ static int wd_dh_common_uninit(void)
|
||||
wd_dh_setting.driver,
|
||||
&wd_dh_setting.priv);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
int wd_dh_init(struct wd_ctx_config *config, struct wd_sched *sched)
|
||||
@@ -170,7 +170,7 @@ int wd_dh_init(struct wd_ctx_config *config, struct wd_sched *sched)
|
||||
|
||||
wd_alg_set_init(&wd_dh_setting.status);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
out_close_driver:
|
||||
wd_dh_close_driver();
|
||||
@@ -270,7 +270,7 @@ int wd_dh_init2_(char *alg, __u32 sched_type, int task_type, struct wd_ctx_param
|
||||
wd_alg_set_init(&wd_dh_setting.status);
|
||||
wd_ctx_param_uninit(&dh_ctx_params);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
out_params_uninit:
|
||||
wd_ctx_param_uninit(&dh_ctx_params);
|
||||
@@ -326,7 +326,7 @@ static int fill_dh_msg(struct wd_dh_msg *msg, struct wd_dh_req *req,
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
int wd_do_dh_sync(handle_t sess, struct wd_dh_req *req)
|
||||
@@ -422,7 +422,7 @@ int wd_do_dh_async(handle_t sess, struct wd_dh_req *req)
|
||||
if (ret)
|
||||
goto fail_with_msg;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
fail_with_msg:
|
||||
wd_put_msg_to_pool(&wd_dh_setting.pool, idx, mid);
|
||||
@@ -510,7 +510,7 @@ int wd_dh_get_mode(handle_t sess, __u8 *alg_mode)
|
||||
|
||||
*alg_mode = ((struct wd_dh_sess *)sess)->setup.is_g2;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
__u32 wd_dh_key_bits(handle_t sess)
|
||||
diff --git a/wd_ecc.c b/wd_ecc.c
|
||||
index 3cdbfdf..97c758c 100644
|
||||
--- a/wd_ecc.c
|
||||
+++ b/wd_ecc.c
|
||||
@@ -132,7 +132,7 @@ static int wd_ecc_open_driver(void)
|
||||
|
||||
wd_ecc_setting.driver = driver;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static bool is_alg_support(const char *alg)
|
||||
@@ -179,7 +179,7 @@ static int wd_ecc_common_init(struct wd_ctx_config *config, struct wd_sched *sch
|
||||
if (ret)
|
||||
goto out_clear_pool;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
out_clear_pool:
|
||||
wd_uninit_async_request_pool(&wd_ecc_setting.pool);
|
||||
@@ -206,7 +206,7 @@ static int wd_ecc_common_uninit(void)
|
||||
wd_ecc_setting.driver,
|
||||
&wd_ecc_setting.priv);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
int wd_ecc_init(struct wd_ctx_config *config, struct wd_sched *sched)
|
||||
@@ -233,7 +233,7 @@ int wd_ecc_init(struct wd_ctx_config *config, struct wd_sched *sched)
|
||||
|
||||
wd_alg_set_init(&wd_ecc_setting.status);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
out_close_driver:
|
||||
wd_ecc_close_driver();
|
||||
@@ -335,7 +335,7 @@ int wd_ecc_init2_(char *alg, __u32 sched_type, int task_type, struct wd_ctx_para
|
||||
wd_alg_set_init(&wd_ecc_setting.status);
|
||||
wd_ctx_param_uninit(&ecc_ctx_params);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
out_params_uninit:
|
||||
wd_ctx_param_uninit(&ecc_ctx_params);
|
||||
@@ -827,7 +827,7 @@ static int set_param_single(struct wd_dtb *dst, const struct wd_dtb *src,
|
||||
memset(dst->data, 0, dst->bsize);
|
||||
memcpy(dst->data, src->data, src->dsize);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
int wd_ecc_get_key_bits(handle_t sess)
|
||||
@@ -905,7 +905,7 @@ static int set_curve_param(struct wd_ecc_key *key,
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static const struct wd_ecc_curve_list *find_curve_list(__u32 id)
|
||||
@@ -942,7 +942,7 @@ static int fill_param_by_id(struct wd_ecc_curve *c,
|
||||
key_size = BITS_TO_BYTES(item->key_bits);
|
||||
memcpy(c->p.data, item->data, CURVE_PARAM_NUM * key_size);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static void setup_curve_cfg(struct wd_ecc_sess_setup *setup)
|
||||
@@ -1064,7 +1064,7 @@ static int create_sess_key(struct wd_ecc_sess_setup *setup,
|
||||
goto free_d;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
free_d:
|
||||
release_ecc_d(sess);
|
||||
@@ -1115,7 +1115,7 @@ static int setup_param_check(struct wd_ecc_sess_setup *setup)
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static void del_sess_key(struct wd_ecc_sess *sess)
|
||||
@@ -1627,7 +1627,7 @@ static int set_sign_in_param(struct wd_ecc_sign_in *sin,
|
||||
return ret;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static int generate_random(struct wd_ecc_sess *sess, struct wd_dtb *k)
|
||||
@@ -1635,6 +1635,11 @@ static int generate_random(struct wd_ecc_sess *sess, struct wd_dtb *k)
|
||||
struct wd_rand_mt rand_t = sess->setup.rand;
|
||||
int ret;
|
||||
|
||||
+ if (!rand_t.cb) {
|
||||
+ WD_ERR("failed to get rand cb!\n");
|
||||
+ return -WD_EINVAL;
|
||||
+ }
|
||||
+
|
||||
ret = rand_t.cb(k->data, k->dsize, rand_t.usr);
|
||||
if (ret)
|
||||
WD_ERR("failed to do rand cb, ret = %d!\n", ret);
|
||||
@@ -1764,7 +1769,7 @@ static struct wd_ecc_in *new_sign_in(struct wd_ecc_sess *sess,
|
||||
return NULL;
|
||||
|
||||
sin = &ecc_in->param.sin;
|
||||
- if (!k && sess_t->setup.rand.cb) {
|
||||
+ if (!k) {
|
||||
ret = generate_random(sess_t, &sin->k);
|
||||
if (ret)
|
||||
goto release_in;
|
||||
@@ -1826,7 +1831,7 @@ static int set_verf_in_param(struct wd_ecc_verf_in *vin,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static struct wd_ecc_in *create_sm2_verf_in(struct wd_ecc_sess *sess,
|
||||
@@ -2258,7 +2263,7 @@ int wd_do_ecc_async(handle_t sess, struct wd_ecc_req *req)
|
||||
if (ret)
|
||||
goto fail_with_msg;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
fail_with_msg:
|
||||
wd_put_msg_to_pool(&wd_ecc_setting.pool, idx, mid);
|
||||
diff --git a/wd_rsa.c b/wd_rsa.c
|
||||
index 1424f61..e23e096 100644
|
||||
--- a/wd_rsa.c
|
||||
+++ b/wd_rsa.c
|
||||
@@ -117,7 +117,7 @@ static int wd_rsa_open_driver(void)
|
||||
|
||||
wd_rsa_setting.driver = driver;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
static void wd_rsa_clear_status(void)
|
||||
@@ -154,7 +154,7 @@ static int wd_rsa_common_init(struct wd_ctx_config *config, struct wd_sched *sch
|
||||
if (ret)
|
||||
goto out_clear_pool;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
out_clear_pool:
|
||||
wd_uninit_async_request_pool(&wd_rsa_setting.pool);
|
||||
@@ -181,7 +181,7 @@ static int wd_rsa_common_uninit(void)
|
||||
wd_rsa_setting.driver,
|
||||
&wd_rsa_setting.priv);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
int wd_rsa_init(struct wd_ctx_config *config, struct wd_sched *sched)
|
||||
@@ -208,7 +208,7 @@ int wd_rsa_init(struct wd_ctx_config *config, struct wd_sched *sched)
|
||||
|
||||
wd_alg_set_init(&wd_rsa_setting.status);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
out_close_driver:
|
||||
wd_rsa_close_driver();
|
||||
@@ -308,7 +308,7 @@ int wd_rsa_init2_(char *alg, __u32 sched_type, int task_type, struct wd_ctx_para
|
||||
wd_alg_set_init(&wd_rsa_setting.status);
|
||||
wd_ctx_param_uninit(&rsa_ctx_params);
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
out_params_uninit:
|
||||
wd_ctx_param_uninit(&rsa_ctx_params);
|
||||
@@ -385,7 +385,7 @@ static int fill_rsa_msg(struct wd_rsa_msg *msg, struct wd_rsa_req *req,
|
||||
|
||||
msg->key = key;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
}
|
||||
|
||||
int wd_do_rsa_sync(handle_t h_sess, struct wd_rsa_req *req)
|
||||
@@ -481,7 +481,7 @@ int wd_do_rsa_async(handle_t sess, struct wd_rsa_req *req)
|
||||
if (ret)
|
||||
goto fail_with_msg;
|
||||
|
||||
- return 0;
|
||||
+ return WD_SUCCESS;
|
||||
|
||||
fail_with_msg:
|
||||
wd_put_msg_to_pool(&wd_rsa_setting.pool, idx, mid);
|
||||
--
|
||||
2.31.1.windows.1
|
||||
|
||||
104
0118-uadk-v1-hpre-add-parameter-check-of-setup.patch
Normal file
104
0118-uadk-v1-hpre-add-parameter-check-of-setup.patch
Normal file
@ -0,0 +1,104 @@
|
||||
From 42d99db17c805298d77b389fddd9d63018c60be2 Mon Sep 17 00:00:00 2001
|
||||
From: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
Date: Thu, 7 Dec 2023 19:19:04 +0800
|
||||
Subject: [PATCH 118/123] uadk/v1/hpre: add parameter check of setup
|
||||
|
||||
Add setup parameter check when create ctx, and
|
||||
remove some redundant code.
|
||||
|
||||
Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
---
|
||||
v1/drv/hisi_hpre_udrv.c | 9 ++++-----
|
||||
v1/wd_dh.c | 3 ++-
|
||||
v1/wd_ecc.c | 3 ++-
|
||||
v1/wd_rsa.c | 3 ++-
|
||||
4 files changed, 10 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/v1/drv/hisi_hpre_udrv.c b/v1/drv/hisi_hpre_udrv.c
|
||||
index 3f8029b..de614f2 100644
|
||||
--- a/v1/drv/hisi_hpre_udrv.c
|
||||
+++ b/v1/drv/hisi_hpre_udrv.c
|
||||
@@ -301,7 +301,6 @@ static int qm_rsa_out_transfer(struct wcrypto_rsa_msg *msg,
|
||||
if (hw_msg->alg == HPRE_ALG_KG_CRT) {
|
||||
msg->out_bytes = CRT_GEN_PARAMS_SZ(kbytes);
|
||||
*in_len = GEN_PARAMS_SZ_UL(kbytes);
|
||||
- *out_len = msg->out_bytes;
|
||||
wcrypto_get_rsa_kg_out_crt_params(key, &qinv, &dq, &dp);
|
||||
ret = qm_tri_bin_transfer(&qinv, &dq, &dp, "rsa kg qinv&dp&dq");
|
||||
if (unlikely(ret))
|
||||
@@ -311,9 +310,7 @@ static int qm_rsa_out_transfer(struct wcrypto_rsa_msg *msg,
|
||||
dq.dsize, dp.dsize);
|
||||
} else if (hw_msg->alg == HPRE_ALG_KG_STD) {
|
||||
msg->out_bytes = GEN_PARAMS_SZ(kbytes);
|
||||
- *out_len = msg->out_bytes;
|
||||
*in_len = GEN_PARAMS_SZ_UL(kbytes);
|
||||
-
|
||||
wcrypto_get_rsa_kg_out_params(key, &d, &n);
|
||||
ret = qm_tri_bin_transfer(&d, &n, NULL, "rsa kg d & n");
|
||||
if (unlikely(ret))
|
||||
@@ -323,8 +320,10 @@ static int qm_rsa_out_transfer(struct wcrypto_rsa_msg *msg,
|
||||
} else {
|
||||
*in_len = kbytes;
|
||||
msg->out_bytes = kbytes;
|
||||
- *out_len = msg->out_bytes;
|
||||
}
|
||||
+
|
||||
+ *out_len = msg->out_bytes;
|
||||
+
|
||||
return WD_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1922,7 +1921,7 @@ static int fill_sm2_enc_sqe(void *msg, struct qm_queue_info *info, __u16 idx)
|
||||
}
|
||||
|
||||
/* split message into two inner request msg
|
||||
- * firest msg used to compute k * g
|
||||
+ * first msg used to compute k * g
|
||||
* second msg used to compute k * pb
|
||||
*/
|
||||
ret = split_req(info, req_src, req_dst);
|
||||
diff --git a/v1/wd_dh.c b/v1/wd_dh.c
|
||||
index 27bcb5a..0ccd7b3 100644
|
||||
--- a/v1/wd_dh.c
|
||||
+++ b/v1/wd_dh.c
|
||||
@@ -61,7 +61,8 @@ static int create_ctx_param_check(struct wd_queue *q,
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
- if (!setup->br.alloc || !setup->br.free) {
|
||||
+ if (!setup->br.alloc || !setup->br.free ||
|
||||
+ !setup->br.iova_map || !setup->br.iova_unmap) {
|
||||
WD_ERR("create dh ctx user mm br err!\n");
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
diff --git a/v1/wd_ecc.c b/v1/wd_ecc.c
|
||||
index 597926d..02f63bf 100644
|
||||
--- a/v1/wd_ecc.c
|
||||
+++ b/v1/wd_ecc.c
|
||||
@@ -1011,7 +1011,8 @@ static int param_check(struct wd_queue *q, struct wcrypto_ecc_ctx_setup *setup)
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
- if (unlikely(!setup->br.alloc || !setup->br.free)) {
|
||||
+ if (unlikely(!setup->br.alloc || !setup->br.free ||
|
||||
+ !setup->br.iova_map || !setup->br.iova_unmap)) {
|
||||
WD_ERR("user mm br error!\n");
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
diff --git a/v1/wd_rsa.c b/v1/wd_rsa.c
|
||||
index 90c8f84..5281b9b 100644
|
||||
--- a/v1/wd_rsa.c
|
||||
+++ b/v1/wd_rsa.c
|
||||
@@ -554,7 +554,8 @@ static int check_q_setup(struct wd_queue *q, struct wcrypto_rsa_ctx_setup *setup
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
- if (!setup->br.alloc || !setup->br.free) {
|
||||
+ if (!setup->br.alloc || !setup->br.free ||
|
||||
+ !setup->br.iova_map || !setup->br.iova_unmap) {
|
||||
WD_ERR("create rsa ctx user mm br err!\n");
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
--
|
||||
2.31.1.windows.1
|
||||
|
||||
97
0119-uadk-ecc-fix-the-use-of-random-k-in-sm2-sign.patch
Normal file
97
0119-uadk-ecc-fix-the-use-of-random-k-in-sm2-sign.patch
Normal file
@ -0,0 +1,97 @@
|
||||
From 9212bec7dd58c8390f4a1b9345f64d112291a4d0 Mon Sep 17 00:00:00 2001
|
||||
From: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
Date: Thu, 7 Dec 2023 19:19:05 +0800
|
||||
Subject: [PATCH 119/123] uadk/ecc: fix the use of random k in sm2 sign
|
||||
|
||||
Fix the problem that can not get random k when do not set
|
||||
the value or callback function. There are three ways to
|
||||
use random k in sm2 sign, fix to support them all in v1
|
||||
and v2:
|
||||
- If k is not set and cb has been set, use cb to generate
|
||||
random k.
|
||||
- If k is set or has been generated by cb, directly set k.
|
||||
- If k and cb are not set, hw driver should config to
|
||||
generate random k.
|
||||
|
||||
Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
---
|
||||
v1/wd_ecc.c | 17 +++++++++--------
|
||||
wd_ecc.c | 15 +++++++++------
|
||||
2 files changed, 18 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/v1/wd_ecc.c b/v1/wd_ecc.c
|
||||
index 02f63bf..3da55d2 100644
|
||||
--- a/v1/wd_ecc.c
|
||||
+++ b/v1/wd_ecc.c
|
||||
@@ -1803,11 +1803,6 @@ static int generate_random(struct wcrypto_ecc_ctx *ctx, struct wd_dtb *k)
|
||||
struct wcrypto_rand_mt *rand_mt = &ctx->setup.rand;
|
||||
int ret;
|
||||
|
||||
- if (!rand_mt->cb) {
|
||||
- WD_ERR("failed to get rand cb!\n");
|
||||
- return -WD_EINVAL;
|
||||
- }
|
||||
-
|
||||
ret = rand_mt->cb(k->data, k->dsize, rand_mt->usr);
|
||||
if (unlikely(ret))
|
||||
WD_ERR("failed to rand cb: ret = %d!\n", ret);
|
||||
@@ -1938,14 +1933,20 @@ static struct wcrypto_ecc_in *new_sign_in(struct wcrypto_ecc_ctx *ctx,
|
||||
return NULL;
|
||||
|
||||
sin = &ecc_in->param.sin;
|
||||
- if (!k) {
|
||||
+ sin->k_set = 0;
|
||||
+ sin->dgst_set = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * If k is not set and cb has been set, use cb to generate random k.
|
||||
+ * If k is set or has been generated by cb, directly set k.
|
||||
+ * If k and cb are not set, hw driver should config to generate random k.
|
||||
+ */
|
||||
+ if (!k && cx->setup.rand.cb) {
|
||||
ret = generate_random(cx, &sin->k);
|
||||
if (unlikely(ret))
|
||||
goto release_in;
|
||||
}
|
||||
|
||||
- sin->k_set = 0;
|
||||
- sin->dgst_set = 0;
|
||||
if (k || cx->setup.rand.cb)
|
||||
sin->k_set = 1;
|
||||
|
||||
diff --git a/wd_ecc.c b/wd_ecc.c
|
||||
index 97c758c..710f1a0 100644
|
||||
--- a/wd_ecc.c
|
||||
+++ b/wd_ecc.c
|
||||
@@ -1635,11 +1635,6 @@ static int generate_random(struct wd_ecc_sess *sess, struct wd_dtb *k)
|
||||
struct wd_rand_mt rand_t = sess->setup.rand;
|
||||
int ret;
|
||||
|
||||
- if (!rand_t.cb) {
|
||||
- WD_ERR("failed to get rand cb!\n");
|
||||
- return -WD_EINVAL;
|
||||
- }
|
||||
-
|
||||
ret = rand_t.cb(k->data, k->dsize, rand_t.usr);
|
||||
if (ret)
|
||||
WD_ERR("failed to do rand cb, ret = %d!\n", ret);
|
||||
@@ -1769,7 +1764,15 @@ static struct wd_ecc_in *new_sign_in(struct wd_ecc_sess *sess,
|
||||
return NULL;
|
||||
|
||||
sin = &ecc_in->param.sin;
|
||||
- if (!k) {
|
||||
+ sin->k_set = 0;
|
||||
+ sin->dgst_set = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * If k is not set and cb has been set, use cb to generate random k.
|
||||
+ * If k is set or has been generated by cb, directly set k.
|
||||
+ * If k and cb are not set, hw driver should config to generate random k.
|
||||
+ */
|
||||
+ if (!k && sess_t->setup.rand.cb) {
|
||||
ret = generate_random(sess_t, &sin->k);
|
||||
if (ret)
|
||||
goto release_in;
|
||||
--
|
||||
2.31.1.windows.1
|
||||
|
||||
219
0120-uadk-v1-cleanup-common-part-code-style.patch
Normal file
219
0120-uadk-v1-cleanup-common-part-code-style.patch
Normal file
@ -0,0 +1,219 @@
|
||||
From 25362ee741d1f304f9e5b45f47bf73bf46562a8d Mon Sep 17 00:00:00 2001
|
||||
From: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
Date: Thu, 7 Dec 2023 19:19:06 +0800
|
||||
Subject: [PATCH 120/123] uadk/v1: cleanup common part code style
|
||||
|
||||
Cleanup the following issues:
|
||||
1. Add const to static variables that do not change.
|
||||
2. Modify indentation and whitespace.
|
||||
3. Put macro definitions at the beginning of the file.
|
||||
4. Splitting judgment conditions to make it clearer.
|
||||
|
||||
Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
---
|
||||
v1/drv/hisi_qm_udrv.c | 16 ++++++++--------
|
||||
v1/wd_adapter.c | 18 +++++++++---------
|
||||
v1/wd_bmm.c | 13 ++++++-------
|
||||
v1/wd_sgl.c | 27 ++++++++++++++++++++++-----
|
||||
4 files changed, 45 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/v1/drv/hisi_qm_udrv.c b/v1/drv/hisi_qm_udrv.c
|
||||
index 0ca38d2..03a875b 100644
|
||||
--- a/v1/drv/hisi_qm_udrv.c
|
||||
+++ b/v1/drv/hisi_qm_udrv.c
|
||||
@@ -244,7 +244,7 @@ static int qm_set_queue_regions(struct wd_queue *q)
|
||||
if (info->sq_base == MAP_FAILED) {
|
||||
info->sq_base = NULL;
|
||||
WD_ERR("mmap dus fail\n");
|
||||
- return -ENOMEM;
|
||||
+ return -WD_ENOMEM;
|
||||
}
|
||||
|
||||
info->mmio_base = wd_drv_mmap_qfr(q, WD_UACCE_QFRT_MMIO, 0);
|
||||
@@ -253,7 +253,7 @@ static int qm_set_queue_regions(struct wd_queue *q)
|
||||
info->sq_base = NULL;
|
||||
info->mmio_base = NULL;
|
||||
WD_ERR("mmap mmio fail\n");
|
||||
- return -ENOMEM;
|
||||
+ return -WD_ENOMEM;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -439,7 +439,7 @@ static int qm_set_db_info(struct q_info *qinfo)
|
||||
struct qm_queue_info *info = qinfo->priv;
|
||||
|
||||
if (strstr(qinfo->hw_type, HISI_QM_API_VER2_BASE) ||
|
||||
- strstr(qinfo->hw_type, HISI_QM_API_VER3_BASE)) {
|
||||
+ strstr(qinfo->hw_type, HISI_QM_API_VER3_BASE)) {
|
||||
info->db = qm_db_v2;
|
||||
info->doorbell_base = info->mmio_base + QM_V2_DOORBELL_OFFSET;
|
||||
} else if (strstr(qinfo->hw_type, HISI_QM_API_VER_BASE)) {
|
||||
@@ -447,7 +447,7 @@ static int qm_set_db_info(struct q_info *qinfo)
|
||||
info->doorbell_base = info->mmio_base + QM_DOORBELL_OFFSET;
|
||||
} else {
|
||||
WD_ERR("hw version mismatch!\n");
|
||||
- return -EINVAL;
|
||||
+ return -WD_EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -505,10 +505,10 @@ static int qm_set_queue_info(struct wd_queue *q)
|
||||
|
||||
ret = qm_set_queue_regions(q);
|
||||
if (ret)
|
||||
- return -EINVAL;
|
||||
+ return -WD_EINVAL;
|
||||
if (!info->sqe_size) {
|
||||
WD_ERR("sqe size =%d err!\n", info->sqe_size);
|
||||
- ret = -EINVAL;
|
||||
+ ret = -WD_EINVAL;
|
||||
goto err_with_regions;
|
||||
}
|
||||
info->cq_base = (void *)((uintptr_t)info->sq_base +
|
||||
@@ -520,7 +520,7 @@ static int qm_set_queue_info(struct wd_queue *q)
|
||||
ret = mprotect(info->cq_base, psize, PROT_READ);
|
||||
if (ret) {
|
||||
WD_ERR("cqe mprotect set err!\n");
|
||||
- ret = -EINVAL;
|
||||
+ ret = -WD_EINVAL;
|
||||
goto err_with_regions;
|
||||
}
|
||||
|
||||
@@ -549,7 +549,7 @@ int qm_init_queue(struct wd_queue *q)
|
||||
{
|
||||
struct q_info *qinfo = q->qinfo;
|
||||
struct qm_queue_info *info;
|
||||
- int ret = -ENOMEM;
|
||||
+ int ret = -WD_ENOMEM;
|
||||
|
||||
info = calloc(1, sizeof(*info));
|
||||
if (!info) {
|
||||
diff --git a/v1/wd_adapter.c b/v1/wd_adapter.c
|
||||
index 6e95562..d574200 100644
|
||||
--- a/v1/wd_adapter.c
|
||||
+++ b/v1/wd_adapter.c
|
||||
@@ -28,7 +28,7 @@
|
||||
#define __ALIGN_MASK(x, mask) (((x) + (mask)) & ~(mask))
|
||||
#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1)
|
||||
|
||||
-static struct wd_drv_dio_if hw_dio_tbl[] = { {
|
||||
+static const struct wd_drv_dio_if hw_dio_tbl[] = { {
|
||||
.hw_type = "dummy_v1",
|
||||
.open = dummy_set_queue_dio,
|
||||
.close = dummy_unset_queue_dio,
|
||||
@@ -155,13 +155,13 @@ void drv_free_slice(struct wd_queue *q)
|
||||
struct q_info *qinfo = q->qinfo;
|
||||
struct wd_ss_region *rgn;
|
||||
|
||||
- while (true) {
|
||||
- rgn = TAILQ_FIRST(&qinfo->ss_list);
|
||||
- if (!rgn)
|
||||
- break;
|
||||
- TAILQ_REMOVE(&qinfo->ss_list, rgn, next);
|
||||
- free(rgn);
|
||||
- }
|
||||
+ while (true) {
|
||||
+ rgn = TAILQ_FIRST(&qinfo->ss_list);
|
||||
+ if (!rgn)
|
||||
+ break;
|
||||
+ TAILQ_REMOVE(&qinfo->ss_list, rgn, next);
|
||||
+ free(rgn);
|
||||
+ }
|
||||
}
|
||||
|
||||
void drv_add_slice(struct wd_queue *q, struct wd_ss_region *rgn)
|
||||
@@ -188,7 +188,7 @@ void drv_show_ss_slices(struct wd_queue *q)
|
||||
int i = 0;
|
||||
|
||||
TAILQ_FOREACH(rgn, qinfo->head, next) {
|
||||
- WD_ERR("slice-%d:size=0x%lx\n", i, rgn->size);
|
||||
+ WD_ERR("slice-%d:size = 0x%lx\n", i, rgn->size);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
diff --git a/v1/wd_bmm.c b/v1/wd_bmm.c
|
||||
index c98c487..cdf5f0b 100644
|
||||
--- a/v1/wd_bmm.c
|
||||
+++ b/v1/wd_bmm.c
|
||||
@@ -29,8 +29,12 @@
|
||||
#define __ALIGN_MASK(x, mask) (((x) + (mask)) & ~(mask))
|
||||
#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1)
|
||||
|
||||
-#define TAG_FREE 0x12345678 /* block is free */
|
||||
-#define TAG_USED 0x87654321 /* block is busy */
|
||||
+#define TAG_FREE 0x12345678 /* block is free */
|
||||
+#define TAG_USED 0x87654321 /* block is busy */
|
||||
+#define MAX_ALIGN_SIZE 0x1000 /* 4KB */
|
||||
+#define MAX_BLOCK_SIZE 0x10000000 /* 256MB */
|
||||
+#define BLK_BALANCE_SZ 0x100000ul
|
||||
+#define NUM_TIMES(x) (87 * (x) / 100)
|
||||
|
||||
struct wd_blk_hd {
|
||||
unsigned int blk_tag;
|
||||
@@ -67,9 +71,6 @@ static struct wd_blk_hd *wd_blk_head(struct wd_blkpool *pool, void *blk)
|
||||
|
||||
static int pool_params_check(struct wd_blkpool_setup *setup)
|
||||
{
|
||||
-#define MAX_ALIGN_SIZE 0x1000 /* 4KB */
|
||||
-#define MAX_BLOCK_SIZE 0x10000000 /* 256MB */
|
||||
-
|
||||
if (!setup->block_num || !setup->block_size ||
|
||||
setup->block_size > MAX_BLOCK_SIZE) {
|
||||
WD_ERR("Invalid block_size or block_num(%x, %u)!\n",
|
||||
@@ -103,7 +104,6 @@ static int wd_pool_pre_layout(struct wd_queue *q,
|
||||
if (!sp->br.alloc)
|
||||
qinfo = q->qinfo;
|
||||
|
||||
-#define BLK_BALANCE_SZ 0x100000ul
|
||||
ret = pool_params_check(sp);
|
||||
if (ret)
|
||||
return ret;
|
||||
@@ -171,7 +171,6 @@ static int wd_pool_init(struct wd_queue *q, struct wd_blkpool *p)
|
||||
* if dma_num <= (1 / 1.15) * user's block_num, we think the pool
|
||||
* is created with failure.
|
||||
*/
|
||||
-#define NUM_TIMES(x) (87 * (x) / 100)
|
||||
if (dma_num <= NUM_TIMES(p->setup.block_num)) {
|
||||
WD_ERR("dma_num = %u, not enough.\n", dma_num);
|
||||
return -WD_EINVAL;
|
||||
diff --git a/v1/wd_sgl.c b/v1/wd_sgl.c
|
||||
index 97e4b73..cb3b8ee 100644
|
||||
--- a/v1/wd_sgl.c
|
||||
+++ b/v1/wd_sgl.c
|
||||
@@ -349,11 +349,28 @@ static int sgl_params_check(struct wd_sglpool_setup *setup)
|
||||
struct wd_sglpool_setup *sp = setup;
|
||||
__u32 buf_num_need;
|
||||
|
||||
- if (!sp->buf_num || !sp->sgl_num || !sp->sge_num_in_sgl ||
|
||||
- !sp->buf_num_in_sgl || sp->buf_size < BUF_SIZE_MAX ||
|
||||
- sp->buf_num_in_sgl > sp->sge_num_in_sgl ||
|
||||
- sp->sgl_num > SGL_NUM_MAX || sp->sge_num_in_sgl > SGE_NUM_MAX) {
|
||||
- WD_ERR("invalid size or num in sgl!\n");
|
||||
+ if (!sp->sgl_num || sp->sgl_num > SGL_NUM_MAX) {
|
||||
+ WD_ERR("invalid sgl_num, %u!\n", sp->sgl_num);
|
||||
+ return -WD_EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ if (!sp->sge_num_in_sgl || sp->sge_num_in_sgl > SGE_NUM_MAX) {
|
||||
+ WD_ERR("invlaid sge_num_in_sgl, %u\n!", sp->sge_num_in_sgl);
|
||||
+ return -WD_EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ if (!sp->buf_num) {
|
||||
+ WD_ERR("invalid buf_num, %u!\n", sp->buf_num);
|
||||
+ return -WD_EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ if (sp->buf_size < BUF_SIZE_MAX) {
|
||||
+ WD_ERR("invalid buf_size, %u!\n", sp->buf_size);
|
||||
+ return -WD_EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ if (!sp->buf_num_in_sgl || sp->buf_num_in_sgl > sp->sge_num_in_sgl) {
|
||||
+ WD_ERR("invalid buf_num_in_sgl, %u!\n", sp->buf_num_in_sgl);
|
||||
return -WD_EINVAL;
|
||||
}
|
||||
|
||||
--
|
||||
2.31.1.windows.1
|
||||
|
||||
48
0121-uadk-fix-uninit-task-queue.patch
Normal file
48
0121-uadk-fix-uninit-task-queue.patch
Normal file
@ -0,0 +1,48 @@
|
||||
From 8c0420608a4655cdc519e91f1e126d567529eda3 Mon Sep 17 00:00:00 2001
|
||||
From: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
Date: Sat, 9 Dec 2023 14:50:37 +0800
|
||||
Subject: [PATCH 121/123] uadk - fix uninit task queue
|
||||
|
||||
Fix uninit wrong task queue on error branch.
|
||||
|
||||
Singed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
|
||||
---
|
||||
wd_util.c | 17 +++++++++++------
|
||||
1 file changed, 11 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/wd_util.c b/wd_util.c
|
||||
index 24e1094..529c42e 100644
|
||||
--- a/wd_util.c
|
||||
+++ b/wd_util.c
|
||||
@@ -1570,17 +1570,22 @@ static int wd_init_async_polling_thread_per_numa(struct wd_env_config *config,
|
||||
task_queue = queue_head;
|
||||
for (i = 0; i < num; task_queue++, i++) {
|
||||
ret = wd_init_one_task_queue(task_queue, alg_poll_ctx);
|
||||
- if (ret) {
|
||||
- for (j = 0; j < i; task_queue++, j++)
|
||||
- wd_uninit_one_task_queue(task_queue);
|
||||
- free(queue_head);
|
||||
- return ret;
|
||||
- }
|
||||
+ if (ret)
|
||||
+ goto uninit_queue;
|
||||
}
|
||||
|
||||
config_numa->async_task_queue_array = (void *)queue_head;
|
||||
|
||||
return 0;
|
||||
+
|
||||
+uninit_queue:
|
||||
+ task_queue = queue_head;
|
||||
+ for (j = 0; j < i; task_queue++, j++)
|
||||
+ wd_uninit_one_task_queue(task_queue);
|
||||
+
|
||||
+ free(queue_head);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static void wd_uninit_async_polling_thread_per_numa(struct wd_env_config *cfg,
|
||||
--
|
||||
2.31.1.windows.1
|
||||
|
||||
29
0122-uadk-mempool-fix-pointer-check.patch
Normal file
29
0122-uadk-mempool-fix-pointer-check.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 9c41484e8dd458117f0b4330440183d2880a8c42 Mon Sep 17 00:00:00 2001
|
||||
From: Yang Shen <shenyang39@huawei.com>
|
||||
Date: Sat, 9 Dec 2023 16:13:48 +0800
|
||||
Subject: [PATCH 122/123] uadk: mempool - fix pointer check
|
||||
|
||||
Add a check for map pointer.
|
||||
|
||||
Signed-off-by: Yang Shen <shenyang39@huawei.com>
|
||||
---
|
||||
wd_mempool.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/wd_mempool.c b/wd_mempool.c
|
||||
index ed107d1..5051300 100644
|
||||
--- a/wd_mempool.c
|
||||
+++ b/wd_mempool.c
|
||||
@@ -231,7 +231,8 @@ static struct bitmap *create_bitmap(int bits)
|
||||
static void destroy_bitmap(struct bitmap *bm)
|
||||
{
|
||||
if (bm) {
|
||||
- free(bm->map);
|
||||
+ if (bm->map)
|
||||
+ free(bm->map);
|
||||
free(bm);
|
||||
}
|
||||
}
|
||||
--
|
||||
2.31.1.windows.1
|
||||
|
||||
54
0123-uadk-misc-cleanup.patch
Normal file
54
0123-uadk-misc-cleanup.patch
Normal file
@ -0,0 +1,54 @@
|
||||
From 573c63b7793093adff971089524e78afcc225f91 Mon Sep 17 00:00:00 2001
|
||||
From: Yang Shen <shenyang39@huawei.com>
|
||||
Date: Sat, 9 Dec 2023 16:37:10 +0800
|
||||
Subject: [PATCH 123/123] uadk - misc cleanup
|
||||
|
||||
Some cleanup.
|
||||
|
||||
Signed-off-by: Yang Shen <shenyang39@huawei.com>
|
||||
---
|
||||
wd_dh.c | 3 ++-
|
||||
wd_rsa.c | 3 ++-
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/wd_dh.c b/wd_dh.c
|
||||
index 826f40b..0a85543 100644
|
||||
--- a/wd_dh.c
|
||||
+++ b/wd_dh.c
|
||||
@@ -216,12 +216,13 @@ int wd_dh_init2_(char *alg, __u32 sched_type, int task_type, struct wd_ctx_param
|
||||
|
||||
/*
|
||||
* Driver lib file path could set by env param.
|
||||
- * than open tham by wd_dlopen_drv()
|
||||
+ * than open them by wd_dlopen_drv()
|
||||
* default dir in the /root/lib/xxx.so and then dlopen
|
||||
*/
|
||||
wd_dh_setting.dlh_list = wd_dlopen_drv(NULL);
|
||||
if (!wd_dh_setting.dlh_list) {
|
||||
WD_ERR("failed to open driver lib files!\n");
|
||||
+ ret = -WD_EINVAL;
|
||||
goto out_clear_init;
|
||||
}
|
||||
|
||||
diff --git a/wd_rsa.c b/wd_rsa.c
|
||||
index e23e096..a94fd36 100644
|
||||
--- a/wd_rsa.c
|
||||
+++ b/wd_rsa.c
|
||||
@@ -254,12 +254,13 @@ int wd_rsa_init2_(char *alg, __u32 sched_type, int task_type, struct wd_ctx_para
|
||||
|
||||
/*
|
||||
* Driver lib file path could set by env param.
|
||||
- * than open tham by wd_dlopen_drv()
|
||||
+ * than open them by wd_dlopen_drv()
|
||||
* default dir in the /root/lib/xxx.so and then dlopen
|
||||
*/
|
||||
wd_rsa_setting.dlh_list = wd_dlopen_drv(NULL);
|
||||
if (!wd_rsa_setting.dlh_list) {
|
||||
WD_ERR("failed to open driver lib files!\n");
|
||||
+ ret = -WD_EINVAL;
|
||||
goto out_clear_init;
|
||||
}
|
||||
|
||||
--
|
||||
2.31.1.windows.1
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Name: libwd
|
||||
Summary: User Space Accelerator Development Kit
|
||||
Version: 2.5.0
|
||||
Release: 6
|
||||
Release: 7
|
||||
License: Apache-2.0
|
||||
Source: %{name}-%{version}.tar.gz
|
||||
Vendor: Huawei Corporation
|
||||
@ -100,35 +100,44 @@ Patch0082: 0082-uadk-wd_util-fix-a-theoretically-infinite-loop.patch
|
||||
Patch0083: 0083-uadk-wd-fix-fscanf-infinite-loop.patch
|
||||
Patch0084: 0084-uadk-zlibwrapper-fix-wrong-request-check.patch
|
||||
Patch0085: 0085-uadk-drv-hisi-fix-sgl-copy-offset-error.patch
|
||||
Patch0086: 0086-uadk-v1-comp-add-comp-ctx-parameters-check.patch
|
||||
Patch0087: 0087-uadk-v1-check-whether-the-data-address-pointer-is-no.patch
|
||||
Patch0088: 0088-uadk-v1-remove-print-actions-after-wd_get_cookies.patch
|
||||
Patch0089: 0089-uadk-fix-header-file-is-not-self-contained.patch
|
||||
Patch0090: 0090-uadk-sec-modify-improper-comments.patch
|
||||
Patch0091: 0091-uadk-fixed-some-input-parameter-checking-issues.patch
|
||||
Patch0092: 0092-uadk-code-cleanup.patch
|
||||
Patch0093: 0093-uadk-fix-sec-send-and-recv-check-failed.patch
|
||||
Patch0094: 0094-uadk-code-cleanup-for-error-codes-and-variable-type.patch
|
||||
Patch0095: 0095-uadk-sec-add-a-return-value-judgement.patch
|
||||
Patch0096: 0096-uadk-Add-file-association.patch
|
||||
Patch0097: 0097-uadk-fix-the-failure-process-bug.patch
|
||||
Patch0098: 0098-uadk-fix-the-failure-process-bug.patch
|
||||
Patch0099: 0099-uadk-fix-the-failure-process-bug.patch
|
||||
Patch0100: 0100-uadk-bugfix.patch
|
||||
Patch0101: 0101-uadk-v1-adapter-code-cleanup.patch
|
||||
Patch0102: 0102-uadk-v1-fix-wd_rng-resource-release-bug.patch
|
||||
Patch0103: 0103-uadk-v1-code-cleanup-for-error-codes-and-header-file.patch
|
||||
Patch0104: 0104-uadk-concentrate-the-same-definitions.patch
|
||||
Patch0105: 0105-uadk-v1-optimize-the-function-length.patch
|
||||
Patch0106: 0106-uadk-v1-concentrate-the-same-definitions.patch
|
||||
Patch0107: 0107-v1-hpre-fix-key-transfer-error-issue.patch
|
||||
Patch0108: 0108-uadk-hisi_hpre-fix-key-transfer-error-issue.patch
|
||||
Patch0109: 0109-uadk-v1-remove-duplicate-header-files.patch
|
||||
Patch0110: 0110-uadk-fix-error-writing-data-to-uninitialized-memory.patch
|
||||
Patch0111: 0111-uadk-drv-qm-fix-resource-leak-by-add-qp-info-clear-p.patch
|
||||
Patch0112: 0112-uadk-v1-fix-error-writing-data-to-uninitialized-memo.patch
|
||||
Patch0113: 0113-uadk-check-queue-status-before-sending-doorbells.patch
|
||||
Patch0114: 0114-uadk-zlibwrapper-fix-return-value-for-wd_zlib_uadk_i.patch
|
||||
Patch0086: 0086-uadk-zlibwrapper-fix-return-value-for-wd_zlib_uadk_i.patch
|
||||
Patch0087: 0087-v1-hpre-fix-key-transfer-error-issue.patch
|
||||
Patch0088: 0088-uadk-hisi_hpre-fix-key-transfer-error-issue.patch
|
||||
Patch0089: 0089-uadk-v1-remove-duplicate-header-files.patch
|
||||
Patch0090: 0090-uadk-fix-error-writing-data-to-uninitialized-memory.patch
|
||||
Patch0091: 0091-uadk-drv-qm-fix-resource-leak-by-add-qp-info-clear-p.patch
|
||||
Patch0092: 0092-uadk-v1-fix-error-writing-data-to-uninitialized-memo.patch
|
||||
Patch0093: 0093-uadk-check-queue-status-before-sending-doorbells.patch
|
||||
Patch0094: 0094-uadk-remove-drivers-alloc-and-free-resources.patch
|
||||
Patch0095: 0095-uadk-v1-comp-add-comp-ctx-parameters-check.patch
|
||||
Patch0096: 0096-uadk-v1-check-whether-the-data-address-pointer-is-no.patch
|
||||
Patch0097: 0097-uadk-v1-remove-print-actions-after-wd_get_cookies.patch
|
||||
Patch0098: 0098-uadk-fix-header-file-is-not-self-contained.patch
|
||||
Patch0099: 0099-uadk-sec-modify-improper-comments.patch
|
||||
Patch0100: 0100-uadk-fixed-some-input-parameter-checking-issues.patch
|
||||
Patch0101: 0101-uadk-code-cleanup.patch
|
||||
Patch0102: 0102-uadk-fix-sec-send-and-recv-check-failed.patch
|
||||
Patch0103: 0103-uadk-code-cleanup-for-error-codes-and-variable-type.patch
|
||||
Patch0104: 0104-uadk-sec-add-a-return-value-judgement.patch
|
||||
Patch0105: 0105-uadk-Add-file-association.patch
|
||||
Patch0106: 0106-uadk-fix-the-failure-process-bug.patch
|
||||
Patch0107: 0107-uadk-fix-the-failure-process-bug.patch
|
||||
Patch0108: 0108-uadk-fix-the-failure-process-bug.patch
|
||||
Patch0109: 0109-uadk-bugfix.patch
|
||||
Patch0110: 0110-uadk-v1-adapter-code-cleanup.patch
|
||||
Patch0111: 0111-uadk-v1-fix-wd_rng-resource-release-bug.patch
|
||||
Patch0112: 0112-uadk-v1-code-cleanup-for-error-codes-and-header-file.patch
|
||||
Patch0113: 0113-uadk-concentrate-the-same-definitions.patch
|
||||
Patch0114: 0114-uadk-v1-optimize-the-function-length.patch
|
||||
Patch0115: 0115-uadk-v1-concentrate-the-same-definitions.patch
|
||||
Patch0116: 0116-uadk-v1-fix-security-view-issues-of-hpre.patch
|
||||
Patch0117: 0117-uadk-cleanup-issues-of-hpre.patch
|
||||
Patch0118: 0118-uadk-v1-hpre-add-parameter-check-of-setup.patch
|
||||
Patch0119: 0119-uadk-ecc-fix-the-use-of-random-k-in-sm2-sign.patch
|
||||
Patch0120: 0120-uadk-v1-cleanup-common-part-code-style.patch
|
||||
Patch0121: 0121-uadk-fix-uninit-task-queue.patch
|
||||
Patch0122: 0122-uadk-mempool-fix-pointer-check.patch
|
||||
Patch0123: 0123-uadk-misc-cleanup.patch
|
||||
|
||||
%description
|
||||
This package contains the User Space Accelerator Library
|
||||
@ -301,6 +310,9 @@ fi
|
||||
/sbin/ldconfig
|
||||
|
||||
%changelog
|
||||
* Sat Dec 09 2023 Yang Shen <shenyang39@huawei.com> 2.5.0-7
|
||||
- libwd: update some patches
|
||||
|
||||
* Tue Dec 05 2023 JiangShui Yang <yangjiangshui@h-partners.com> 2.5.0-6
|
||||
- libwd: update the source code
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user