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