224 lines
6.5 KiB
Diff
224 lines
6.5 KiB
Diff
From 566d703c6739cf3a854cfd6321d1b367aacf5ff4 Mon Sep 17 00:00:00 2001
|
|
From: 15859157387 <977713017@qq.com>
|
|
Date: Tue, 24 Oct 2023 14:50:37 +0800
|
|
Subject: [PATCH] support clang compile
|
|
|
|
---
|
|
test/wd_mempool_test.c | 4 +---
|
|
v1/wd_rsa.c | 18 ++++++++++--------
|
|
wd_mempool.c | 7 +------
|
|
wd_rsa.c | 22 ++++++++++++----------
|
|
4 files changed, 24 insertions(+), 27 deletions(-)
|
|
|
|
diff --git a/test/wd_mempool_test.c b/test/wd_mempool_test.c
|
|
index ad04636..7d18752 100644
|
|
--- a/test/wd_mempool_test.c
|
|
+++ b/test/wd_mempool_test.c
|
|
@@ -644,7 +644,7 @@ static void *sva_sec_cipher_async(void *arg)
|
|
int cnt = g_times;
|
|
handle_t h_sess;
|
|
int ret;
|
|
- int j, i;
|
|
+ int j;
|
|
|
|
setup->alg = WD_CIPHER_AES;
|
|
setup->mode = WD_CIPHER_CBC;
|
|
@@ -658,7 +658,6 @@ static void *sva_sec_cipher_async(void *arg)
|
|
SEC_TST_PRT("test sec cipher set key is failed!\n");
|
|
goto out;;
|
|
}
|
|
- i = cnt;
|
|
/* run task */
|
|
do {
|
|
try_do_again:
|
|
@@ -666,7 +665,6 @@ try_do_again:
|
|
req->src = pdata->bd_pool->bds[j].src;
|
|
req->dst = pdata->bd_pool->bds[j].dst;
|
|
ret = wd_do_cipher_async(h_sess, req);
|
|
- i--;
|
|
if (ret == -EBUSY) { // busy
|
|
usleep(100);
|
|
goto try_do_again;
|
|
diff --git a/v1/wd_rsa.c b/v1/wd_rsa.c
|
|
index 61de3cc..49249b4 100644
|
|
--- a/v1/wd_rsa.c
|
|
+++ b/v1/wd_rsa.c
|
|
@@ -105,8 +105,10 @@ struct wcrypto_rsa_prikey2 {
|
|
};
|
|
|
|
struct wcrypto_rsa_prikey {
|
|
- struct wcrypto_rsa_prikey1 pkey1;
|
|
- struct wcrypto_rsa_prikey2 pkey2;
|
|
+ union {
|
|
+ struct wcrypto_rsa_prikey1 pkey1;
|
|
+ struct wcrypto_rsa_prikey2 pkey2;
|
|
+ } pkey;
|
|
};
|
|
|
|
/* RSA CRT private key parameter types */
|
|
@@ -444,7 +446,7 @@ static int create_ctx_key(struct wcrypto_rsa_ctx_setup *setup,
|
|
WD_ERR("alloc prikey2 fail!\n");
|
|
return -WD_ENOMEM;
|
|
}
|
|
- pkey2 = &ctx->prikey->pkey2;
|
|
+ pkey2 = &ctx->prikey->pkey.pkey2;
|
|
memset(ctx->prikey, 0, len);
|
|
init_pkey2(pkey2, ctx->key_size);
|
|
} else {
|
|
@@ -459,7 +461,7 @@ static int create_ctx_key(struct wcrypto_rsa_ctx_setup *setup,
|
|
WD_ERR("alloc prikey1 fail!\n");
|
|
return -WD_ENOMEM;
|
|
}
|
|
- pkey1 = &ctx->prikey->pkey1;
|
|
+ pkey1 = &ctx->prikey->pkey.pkey1;
|
|
memset(ctx->prikey, 0, len);
|
|
init_pkey1(pkey1, ctx->key_size);
|
|
}
|
|
@@ -713,7 +715,7 @@ int wcrypto_set_rsa_prikey_params(void *ctx, struct wd_dtb *d, struct wd_dtb *n)
|
|
WD_ERR("ctx err in set rsa private key1!\n");
|
|
return -WD_EINVAL;
|
|
}
|
|
- pkey1 = &c->prikey->pkey1;
|
|
+ pkey1 = &c->prikey->pkey.pkey1;
|
|
if (d) {
|
|
if (d->dsize > pkey1->key_size || !d->data) {
|
|
WD_ERR("d err in set rsa private key1!\n");
|
|
@@ -747,7 +749,7 @@ void wcrypto_get_rsa_prikey_params(struct wcrypto_rsa_prikey *pvk, struct wd_dtb
|
|
return;
|
|
}
|
|
|
|
- pkey1 = &pvk->pkey1;
|
|
+ pkey1 = &pvk->pkey.pkey1;
|
|
|
|
if (d)
|
|
*d = &pkey1->d;
|
|
@@ -819,7 +821,7 @@ int wcrypto_set_rsa_crt_prikey_params(void *ctx, struct wd_dtb *dq,
|
|
return ret;
|
|
}
|
|
|
|
- pkey2 = &c->prikey->pkey2;
|
|
+ pkey2 = &c->prikey->pkey.pkey2;
|
|
ret = rsa_prikey2_param_set(pkey2, dq, WD_CRT_PRIKEY_DQ);
|
|
if (ret) {
|
|
WD_ERR("dq err in set rsa private key2!\n");
|
|
@@ -865,7 +867,7 @@ void wcrypto_get_rsa_crt_prikey_params(struct wcrypto_rsa_prikey *pvk,
|
|
return;
|
|
}
|
|
|
|
- pkey2 = &pvk->pkey2;
|
|
+ pkey2 = &pvk->pkey.pkey2;
|
|
|
|
if (dq)
|
|
*dq = &pkey2->dq;
|
|
diff --git a/wd_mempool.c b/wd_mempool.c
|
|
index cb8c80b..864ba13 100644
|
|
--- a/wd_mempool.c
|
|
+++ b/wd_mempool.c
|
|
@@ -71,7 +71,7 @@ static inline int wd_atomic_test_add(struct wd_ref *ref, int a, int u)
|
|
c = __atomic_load_n(&ref->ref, __ATOMIC_RELAXED);
|
|
if (c == u)
|
|
break;
|
|
- } while (! __atomic_compare_exchange_n(&ref->ref, &c, c + a, true,
|
|
+ } while (! __atomic_compare_exchange_n(&ref->ref, (__u32 *)&c, c + a, true,
|
|
__ATOMIC_RELAXED, __ATOMIC_RELAXED));
|
|
|
|
return c;
|
|
@@ -299,11 +299,6 @@ static int test_bit(struct bitmap *bm, unsigned int nr)
|
|
return !(*p & mask);
|
|
}
|
|
|
|
-inline static size_t wd_get_page_size(void)
|
|
-{
|
|
- return sysconf(_SC_PAGESIZE);
|
|
-}
|
|
-
|
|
void *wd_block_alloc(handle_t blkpool)
|
|
{
|
|
struct blkpool *bp = (struct blkpool*)blkpool;
|
|
diff --git a/wd_rsa.c b/wd_rsa.c
|
|
index 4bd1d30..8301d57 100644
|
|
--- a/wd_rsa.c
|
|
+++ b/wd_rsa.c
|
|
@@ -48,8 +48,10 @@ struct wd_rsa_prikey2 {
|
|
};
|
|
|
|
struct wd_rsa_prikey {
|
|
- struct wd_rsa_prikey1 pkey1;
|
|
- struct wd_rsa_prikey2 pkey2;
|
|
+ union {
|
|
+ struct wd_rsa_prikey1 pkey1;
|
|
+ struct wd_rsa_prikey2 pkey2;
|
|
+ } pkey;
|
|
};
|
|
|
|
/* RSA private key parameter types */
|
|
@@ -844,7 +846,7 @@ static int create_sess_key(struct wd_rsa_sess_setup *setup,
|
|
WD_ERR("failed to alloc sess prikey2!\n");
|
|
return -WD_ENOMEM;
|
|
}
|
|
- pkey2 = &sess->prikey->pkey2;
|
|
+ pkey2 = &sess->prikey->pkey.pkey2;
|
|
memset(sess->prikey, 0, len);
|
|
init_pkey2(pkey2, sess->key_size);
|
|
} else {
|
|
@@ -855,7 +857,7 @@ static int create_sess_key(struct wd_rsa_sess_setup *setup,
|
|
WD_ERR("failed to alloc sess prikey1!\n");
|
|
return -WD_ENOMEM;
|
|
}
|
|
- pkey1 = &sess->prikey->pkey1;
|
|
+ pkey1 = &sess->prikey->pkey.pkey1;
|
|
memset(sess->prikey, 0, len);
|
|
init_pkey1(pkey1, sess->key_size);
|
|
}
|
|
@@ -886,9 +888,9 @@ static void del_sess_key(struct wd_rsa_sess *sess)
|
|
}
|
|
|
|
if (sess->setup.is_crt)
|
|
- wd_memset_zero(prk->pkey2.data, CRT_PARAMS_SZ(sess->key_size));
|
|
+ wd_memset_zero(prk->pkey.pkey2.data, CRT_PARAMS_SZ(sess->key_size));
|
|
else
|
|
- wd_memset_zero(prk->pkey1.data, GEN_PARAMS_SZ(sess->key_size));
|
|
+ wd_memset_zero(prk->pkey.pkey1.data, GEN_PARAMS_SZ(sess->key_size));
|
|
free(sess->prikey);
|
|
free(sess->pubkey);
|
|
}
|
|
@@ -1041,7 +1043,7 @@ int wd_rsa_set_prikey_params(handle_t sess, struct wd_dtb *d, struct wd_dtb *n)
|
|
WD_ERR("invalid: sess err in set rsa private key1!\n");
|
|
return -WD_EINVAL;
|
|
}
|
|
- pkey1 = &c->prikey->pkey1;
|
|
+ pkey1 = &c->prikey->pkey.pkey1;
|
|
if (d) {
|
|
if (!d->dsize || !d->data || d->dsize > pkey1->key_size) {
|
|
WD_ERR("invalid: d err in set rsa private key1!\n");
|
|
@@ -1076,7 +1078,7 @@ void wd_rsa_get_prikey_params(struct wd_rsa_prikey *pvk, struct wd_dtb **d,
|
|
return;
|
|
}
|
|
|
|
- pkey1 = &pvk->pkey1;
|
|
+ pkey1 = &pvk->pkey.pkey1;
|
|
|
|
if (d)
|
|
*d = &pkey1->d;
|
|
@@ -1148,7 +1150,7 @@ int wd_rsa_set_crt_prikey_params(handle_t sess, struct wd_dtb *dq,
|
|
return ret;
|
|
}
|
|
|
|
- pkey2 = &c->prikey->pkey2;
|
|
+ pkey2 = &c->prikey->pkey.pkey2;
|
|
ret = rsa_prikey2_param_set(pkey2, dq, WD_CRT_PRIKEY_DQ);
|
|
if (ret) {
|
|
WD_ERR("failed to set dq for rsa private key2!\n");
|
|
@@ -1194,7 +1196,7 @@ void wd_rsa_get_crt_prikey_params(struct wd_rsa_prikey *pvk,
|
|
return;
|
|
}
|
|
|
|
- pkey2 = &pvk->pkey2;
|
|
+ pkey2 = &pvk->pkey.pkey2;
|
|
|
|
if (dq)
|
|
*dq = &pkey2->dq;
|
|
--
|
|
2.27.0
|
|
|