From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Sunil Uttarwar <sunilprakashrao.uttarwar@amd.com>,
Ankur Dwivedi <adwivedi@marvell.com>,
Anoob Joseph <anoobj@marvell.com>,
Tejasree Kondoj <ktejasree@marvell.com>,
Kai Ji <kai.ji@intel.com>,
Pablo de Lara <pablo.de.lara.guarch@intel.com>,
Matan Azrad <matan@nvidia.com>,
Chengfei Han <han.chengfei@zte.com.cn>,
Ming Ran <ran.ming@zte.com.cn>, Akhil Goyal <gakhil@marvell.com>,
Fan Zhang <fanzhang.oss@gmail.com>
Subject: [PATCH 14/61] cryptodev: replace use of rte_memcpy
Date: Wed, 19 Aug 2026 22:12:04 -0700 [thread overview]
Message-ID: <20260820052251.1453273-15-stephen@networkplumber.org> (raw)
In-Reply-To: <20260820052251.1453273-1-stephen@networkplumber.org>
Using regular memcpy is as fast and safer.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/crypto/ccp/ccp_crypto.c | 14 +++++---------
drivers/crypto/cnxk/cnxk_se.h | 2 +-
drivers/crypto/ipsec_mb/pmd_snow3g.c | 4 ++--
drivers/crypto/mlx5/mlx5_crypto_gcm.c | 10 +++++-----
drivers/crypto/scheduler/rte_cryptodev_scheduler.c | 6 +++---
drivers/crypto/scheduler/scheduler_failover.c | 12 ++++++------
drivers/crypto/zsda/zsda_crypto_session.c | 6 +++---
lib/cryptodev/rte_cryptodev.c | 12 ++++--------
8 files changed, 29 insertions(+), 37 deletions(-)
diff --git a/drivers/crypto/ccp/ccp_crypto.c b/drivers/crypto/ccp/ccp_crypto.c
index b07a786d8e..e754dd16dc 100644
--- a/drivers/crypto/ccp/ccp_crypto.c
+++ b/drivers/crypto/ccp/ccp_crypto.c
@@ -168,7 +168,7 @@ static int partial_hash_sha1(uint8_t *data_in, uint8_t *data_out)
if (!SHA1_Init(&ctx))
return -EFAULT;
SHA1_Transform(&ctx, data_in);
- rte_memcpy(data_out, &ctx, SHA_DIGEST_LENGTH);
+ memcpy(data_out, &ctx, SHA_DIGEST_LENGTH);
return 0;
}
@@ -179,8 +179,7 @@ static int partial_hash_sha224(uint8_t *data_in, uint8_t *data_out)
if (!SHA224_Init(&ctx))
return -EFAULT;
SHA256_Transform(&ctx, data_in);
- rte_memcpy(data_out, &ctx,
- SHA256_DIGEST_LENGTH);
+ memcpy(data_out, &ctx, SHA256_DIGEST_LENGTH);
return 0;
}
@@ -191,8 +190,7 @@ static int partial_hash_sha256(uint8_t *data_in, uint8_t *data_out)
if (!SHA256_Init(&ctx))
return -EFAULT;
SHA256_Transform(&ctx, data_in);
- rte_memcpy(data_out, &ctx,
- SHA256_DIGEST_LENGTH);
+ memcpy(data_out, &ctx, SHA256_DIGEST_LENGTH);
return 0;
}
@@ -203,8 +201,7 @@ static int partial_hash_sha384(uint8_t *data_in, uint8_t *data_out)
if (!SHA384_Init(&ctx))
return -EFAULT;
SHA512_Transform(&ctx, data_in);
- rte_memcpy(data_out, &ctx,
- SHA512_DIGEST_LENGTH);
+ memcpy(data_out, &ctx, SHA512_DIGEST_LENGTH);
return 0;
}
@@ -215,8 +212,7 @@ static int partial_hash_sha512(uint8_t *data_in, uint8_t *data_out)
if (!SHA512_Init(&ctx))
return -EFAULT;
SHA512_Transform(&ctx, data_in);
- rte_memcpy(data_out, &ctx,
- SHA512_DIGEST_LENGTH);
+ memcpy(data_out, &ctx, SHA512_DIGEST_LENGTH);
return 0;
}
diff --git a/drivers/crypto/cnxk/cnxk_se.h b/drivers/crypto/cnxk/cnxk_se.h
index 505a5fcd37..cf26373828 100644
--- a/drivers/crypto/cnxk/cnxk_se.h
+++ b/drivers/crypto/cnxk/cnxk_se.h
@@ -1252,7 +1252,7 @@ cpt_sm_prep(uint32_t flags, uint64_t d_offs, uint64_t d_lens, struct roc_se_fc_p
void *dst = PLT_PTR_ADD(offset_vaddr, ROC_SE_OFF_CTRL_LEN);
const uint64_t *src = fc_params->iv_buf;
- rte_memcpy(dst, src, 16);
+ memcpy(dst, src, 16);
}
inst->w4.u64 = cpt_inst_w4.u64;
} else {
diff --git a/drivers/crypto/ipsec_mb/pmd_snow3g.c b/drivers/crypto/ipsec_mb/pmd_snow3g.c
index 35fe23c157..6e84e34dc3 100644
--- a/drivers/crypto/ipsec_mb/pmd_snow3g.c
+++ b/drivers/crypto/ipsec_mb/pmd_snow3g.c
@@ -292,8 +292,8 @@ process_snow3g_hash_op(struct ipsec_mb_qp *qp, struct rte_crypto_op **ops,
/* Copy back digest from src to auth.digest.data */
if (digest_appended)
- rte_memcpy(ops[i]->sym->auth.digest.data,
- dst, SNOW3G_DIGEST_LENGTH);
+ memcpy(ops[i]->sym->auth.digest.data, dst,
+ SNOW3G_DIGEST_LENGTH);
}
processed_ops++;
}
diff --git a/drivers/crypto/mlx5/mlx5_crypto_gcm.c b/drivers/crypto/mlx5/mlx5_crypto_gcm.c
index 1a2600655a..77a0e14715 100644
--- a/drivers/crypto/mlx5/mlx5_crypto_gcm.c
+++ b/drivers/crypto/mlx5/mlx5_crypto_gcm.c
@@ -1061,9 +1061,9 @@ mlx5_crypto_gcm_ipsec_enqueue_burst(void *queue_pair,
* shrink AAD before payload. First backup the mem,
* then do shrink.
*/
- rte_memcpy(&qp->ipsec_mem[idx],
- RTE_PTR_SUB(payload, MLX5_CRYPTO_GCM_IPSEC_IV_SIZE),
- MLX5_CRYPTO_GCM_IPSEC_IV_SIZE);
+ memcpy(&qp->ipsec_mem[idx],
+ RTE_PTR_SUB(payload, MLX5_CRYPTO_GCM_IPSEC_IV_SIZE),
+ MLX5_CRYPTO_GCM_IPSEC_IV_SIZE);
/* If no memory overlap, do copy directly, otherwise memmove. */
if (likely(pkt_iv_len >= sess->aad_len))
rte_memcpy(gcm_data.src_addr, op->sym->aead.aad.data, sess->aad_len);
@@ -1107,8 +1107,8 @@ mlx5_crypto_gcm_restore_ipsec_mem(struct mlx5_crypto_qp *qp,
if (unlikely(sess->aad_len > MLX5_CRYPTO_GCM_IPSEC_IV_SIZE))
memmove(op->sym->aead.aad.data,
RTE_PTR_SUB(payload, sess->aad_len), sess->aad_len);
- rte_memcpy(RTE_PTR_SUB(payload, MLX5_CRYPTO_GCM_IPSEC_IV_SIZE),
- &qp->ipsec_mem[idx], MLX5_CRYPTO_GCM_IPSEC_IV_SIZE);
+ memcpy(RTE_PTR_SUB(payload, MLX5_CRYPTO_GCM_IPSEC_IV_SIZE),
+ &qp->ipsec_mem[idx], MLX5_CRYPTO_GCM_IPSEC_IV_SIZE);
m_dst = op->sym->m_dst;
if (m_dst && m_dst != m_src) {
uint32_t bytes_to_copy;
diff --git a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
index 1ca8443431..95e4a69913 100644
--- a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
+++ b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
@@ -80,7 +80,7 @@ sync_caps(struct rte_cryptodev_capabilities *caps,
/* remove a uncommon cap from the array */
for (j = i; j < sync_nb_caps - 1; j++)
- rte_memcpy(&caps[j], &caps[j+1], sizeof(*cap));
+ memcpy(&caps[j], &caps[j + 1], sizeof(*cap));
memset(&caps[sync_nb_caps - 1], 0, sizeof(*cap));
sync_nb_caps--;
@@ -217,8 +217,8 @@ sync_sec_caps(uint32_t worker_idx,
* caps, from the arrays
*/
for (j = i; j < nb_sec_caps - 1; j++) {
- rte_memcpy(&sec_caps[j], &sec_caps[j+1],
- sizeof(*sec_cap));
+ memcpy(&sec_caps[j], &sec_caps[j + 1],
+ sizeof(*sec_cap));
rte_memcpy(&sec_crypto_caps[j][0],
&sec_crypto_caps[j+1][0],
diff --git a/drivers/crypto/scheduler/scheduler_failover.c b/drivers/crypto/scheduler/scheduler_failover.c
index 52ff2ffbb7..e7c6d19d25 100644
--- a/drivers/crypto/scheduler/scheduler_failover.c
+++ b/drivers/crypto/scheduler/scheduler_failover.c
@@ -171,12 +171,12 @@ scheduler_start(struct rte_cryptodev *dev)
sched_ctx->workers[PRIMARY_WORKER_IDX].qp_id = i;
sched_ctx->workers[SECONDARY_WORKER_IDX].qp_id = i;
- rte_memcpy(&qp_ctx->primary_worker,
- &sched_ctx->workers[PRIMARY_WORKER_IDX],
- sizeof(struct scheduler_worker));
- rte_memcpy(&qp_ctx->secondary_worker,
- &sched_ctx->workers[SECONDARY_WORKER_IDX],
- sizeof(struct scheduler_worker));
+ memcpy(&qp_ctx->primary_worker,
+ &sched_ctx->workers[PRIMARY_WORKER_IDX],
+ sizeof(struct scheduler_worker));
+ memcpy(&qp_ctx->secondary_worker,
+ &sched_ctx->workers[SECONDARY_WORKER_IDX],
+ sizeof(struct scheduler_worker));
}
return 0;
diff --git a/drivers/crypto/zsda/zsda_crypto_session.c b/drivers/crypto/zsda/zsda_crypto_session.c
index 5087ae248a..c01141dd94 100644
--- a/drivers/crypto/zsda/zsda_crypto_session.c
+++ b/drivers/crypto/zsda/zsda_crypto_session.c
@@ -178,7 +178,7 @@ u32_to_u8(uint32_t *u_int32_t_data, uint8_t *u8_data)
{
uint32_t be_data = rte_cpu_to_be_32(*u_int32_t_data);
- rte_memcpy(u8_data, &be_data, sizeof(be_data));
+ memcpy(u8_data, &be_data, sizeof(be_data));
}
static void
@@ -283,8 +283,8 @@ zsda_decry_key_set(uint8_t key[64], const uint8_t *key1_ptr, uint8_t skey_len,
: ZSDA_AES512_ROUND_NUM;
zsda_aes_key_expansion(aes_round_key, round_num, key1_ptr,
skey_len);
- rte_memcpy(dec_key1,
- ((uint8_t *)aes_round_key + (16 * round_num)), 16);
+ memcpy(dec_key1,
+ ((uint8_t *)aes_round_key + (16 * round_num)), 16);
if (skey_len == ZSDA_SYM_XTS_512_SKEY_LEN &&
(16 * round_num) <= ZSDA_AES_MAX_EXP_BYTE_SIZE) {
diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c
index 829a5d0846..cdbaf54e1e 100644
--- a/lib/cryptodev/rte_cryptodev.c
+++ b/lib/cryptodev/rte_cryptodev.c
@@ -16,7 +16,6 @@
#include <rte_debug.h>
#include <dev_driver.h>
#include <rte_memory.h>
-#include <rte_memcpy.h>
#include <rte_memzone.h>
#include <rte_eal.h>
#include <rte_common.h>
@@ -2566,8 +2565,7 @@ rte_cryptodev_sym_session_set_user_data(void *_sess, void *data,
if (sess->user_data_sz < size)
return -ENOMEM;
- rte_memcpy(sess->driver_priv_data + sess->sess_data_sz, data, size);
-
+ memcpy(sess->driver_priv_data + sess->sess_data_sz, data, size);
rte_cryptodev_trace_sym_session_set_user_data(sess, data, size);
return 0;
@@ -2601,9 +2599,7 @@ rte_cryptodev_asym_session_set_user_data(void *session, void *data, uint16_t siz
if (sess->user_data_sz < size)
return -ENOMEM;
- rte_memcpy(sess->sess_private_data +
- sess->max_priv_data_sz,
- data, size);
+ memcpy(sess->sess_private_data + sess->max_priv_data_sz, data, size);
rte_cryptodev_trace_asym_session_set_user_data(sess, data, size);
@@ -2750,7 +2746,7 @@ rte_cryptodev_session_event_mdata_set(uint8_t dev_id, void *sess,
if (s->event_mdata == NULL)
return -ENOMEM;
}
- rte_memcpy(s->event_mdata, ev_mdata, size);
+ memcpy(s->event_mdata, ev_mdata, size);
return 0;
} else
@@ -3098,7 +3094,7 @@ crypto_caps_array(struct rte_tel_data *d,
while ((dev_caps = &capabilities[i++])->op !=
RTE_CRYPTO_OP_TYPE_UNDEFINED) {
memset(&caps_val, 0, CRYPTO_CAPS_SZ * sizeof(caps_val[0]));
- rte_memcpy(caps_val, dev_caps, sizeof(capabilities[0]));
+ memcpy(caps_val, dev_caps, sizeof(capabilities[0]));
for (j = 0; j < CRYPTO_CAPS_SZ; j++)
rte_tel_data_add_array_uint(d, caps_val[j]);
}
--
2.53.0
next prev parent reply other threads:[~2026-08-20 5:24 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-20 5:11 [PATCH 00/61] reduce use of rte_memcpy Stephen Hemminger
2026-08-20 5:11 ` [PATCH 01/61] devtools/cocci: add script to replace fixed size rte_memcpy Stephen Hemminger
2026-08-20 5:11 ` [PATCH 02/61] app/testpmd: replace rte_memcpy with memcpy Stephen Hemminger
2026-08-20 5:11 ` [PATCH 03/61] test: use memcpy instead of rte_memcpy Stephen Hemminger
2026-08-20 6:22 ` Morten Brørup
2026-08-20 16:22 ` Stephen Hemminger
2026-08-20 5:11 ` [PATCH 04/61] app/graph: replace rte_memcpy with memcpy Stephen Hemminger
2026-08-20 5:11 ` [PATCH 05/61] lpm: remove unnecessary include of rte_memcpy.h Stephen Hemminger
2026-08-20 5:11 ` [PATCH 06/61] acl: " Stephen Hemminger
2026-08-20 5:11 ` [PATCH 07/61] drivers/bus: " Stephen Hemminger
2026-08-20 5:11 ` [PATCH 08/61] security: replace fixed size rte_memcpy Stephen Hemminger
2026-08-20 5:11 ` [PATCH 09/61] ethdev: replace use of rte_memcpy Stephen Hemminger
2026-08-20 5:12 ` [PATCH 10/61] net: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 11/61] pdcp: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 12/61] eventdev: replace fixed size rte_memcpy Stephen Hemminger
2026-08-20 5:12 ` [PATCH 13/61] eal: replace rte_memcpy of cpuset Stephen Hemminger
2026-08-20 5:12 ` Stephen Hemminger [this message]
2026-08-20 5:12 ` [PATCH 15/61] drivers/raw: use memcpy for fixed size data Stephen Hemminger
2026-08-20 5:12 ` [PATCH 16/61] test-pipeline: replace use of rte_memcpy Stephen Hemminger
2026-08-20 5:12 ` [PATCH 17/61] net/af_xdp: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 18/61] net/avp: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 19/61] net/axgbe: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 20/61] net/bnx2x: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 21/61] net/bnxt: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 22/61] net/bonding: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 23/61] net/cnxk: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 24/61] net/cxgbe: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 25/61] net/dpaa2: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 26/61] net/enic: " Stephen Hemminger
2026-08-20 9:05 ` Hyong Youb Kim (hyonkim)
2026-08-20 5:12 ` [PATCH 27/61] net/failsafe: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 28/61] net/gve: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 29/61] net/hinic: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 30/61] net/hns3: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 31/61] net/mlx5: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 32/61] net/mvpp2: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 33/61] net/netvsc: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 34/61] net/nfp: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 35/61] net/ngbe: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 36/61] net/ntnic: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 37/61] net/null: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 38/61] net/qede: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 39/61] net/ring: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 40/61] net/sfc: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 41/61] net/txgbe: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 42/61] net/vhost: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 43/61] net/virtio: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 44/61] net/sxe2: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 45/61] net/zxdh: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 46/61] net/memif: use memcpy for fixed size data Stephen Hemminger
2026-08-20 5:12 ` [PATCH 47/61] net/ice: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 48/61] test-bbdev: remove unnecessary include rte_memcpy.h Stephen Hemminger
2026-08-20 5:12 ` [PATCH 49/61] drivers/mempool: use memcpy for fixed size data Stephen Hemminger
2026-08-20 5:12 ` [PATCH 50/61] ml/cnxk: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 51/61] drivers/event: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 52/61] baseband/la12xx: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 53/61] baseband/acc: replace use of rte_memcpy Stephen Hemminger
2026-08-20 5:12 ` [PATCH 54/61] drivers/*/qat: use memcpy for fixed size data Stephen Hemminger
2026-08-20 5:12 ` [PATCH 55/61] hash: replace use of rte_memcpy Stephen Hemminger
2026-08-20 5:12 ` [PATCH 56/61] rib: remove rte_memcpy include Stephen Hemminger
2026-08-20 5:12 ` [PATCH 57/61] pcapng: replace use of rte_memcpy Stephen Hemminger
2026-08-20 5:12 ` [PATCH 58/61] efd: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 59/61] net/xsc: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 60/61] net/pcap: " Stephen Hemminger
2026-08-20 5:12 ` [PATCH 61/61] power: " Stephen Hemminger
2026-08-20 7:31 ` [PATCH 00/61] reduce " Morten Brørup
2026-08-20 8:16 ` Bruce Richardson
2026-08-20 8:46 ` Konstantin Ananyev
2026-08-20 9:03 ` Morten Brørup
2026-08-20 13:07 ` Konstantin Ananyev
2026-08-20 14:00 ` Morten Brørup
2026-08-20 20:13 ` Stephen Hemminger
2026-08-20 20:16 ` Stephen Hemminger
2026-08-20 20:18 ` Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260820052251.1453273-15-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=adwivedi@marvell.com \
--cc=anoobj@marvell.com \
--cc=dev@dpdk.org \
--cc=fanzhang.oss@gmail.com \
--cc=gakhil@marvell.com \
--cc=han.chengfei@zte.com.cn \
--cc=kai.ji@intel.com \
--cc=ktejasree@marvell.com \
--cc=matan@nvidia.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=ran.ming@zte.com.cn \
--cc=sunilprakashrao.uttarwar@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.