[PATCH v2 48/61] crypto/mvsam: use kvargs numeric helpers
Stephen Hemminger
stephen at networkplumber.org
Tue Sep 29 18:36:51 CEST 2026
parse_integer_arg() uses atoi(), which cannot report an error, so a
malformed value such as "abc" becomes zero and the negative check never
fires.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
drivers/crypto/mvsam/rte_mrvl_pmd.c | 22 +++-------------------
1 file changed, 3 insertions(+), 19 deletions(-)
diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c
index 65a63c9d62..4ac9e209df 100644
--- a/drivers/crypto/mvsam/rte_mrvl_pmd.c
+++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c
@@ -1117,22 +1117,6 @@ cryptodev_mrvl_crypto_create(const char *name,
return ret;
}
-/** Parse integer from integer argument */
-static int
-parse_integer_arg(const char *key __rte_unused,
- const char *value, void *extra_args)
-{
- int *i = (int *) extra_args;
-
- *i = atoi(value);
- if (*i < 0) {
- MRVL_LOG(ERR, "Argument has to be positive!");
- return -EINVAL;
- }
-
- return 0;
-}
-
/** Parse name */
static int
parse_name_arg(const char *key __rte_unused,
@@ -1170,14 +1154,14 @@ mrvl_pmd_parse_input_args(struct mrvl_pmd_init_params *params,
/* Common VDEV parameters */
ret = rte_kvargs_process(kvlist,
RTE_CRYPTODEV_PMD_MAX_NB_QP_ARG,
- &parse_integer_arg,
+ rte_kvargs_handle_uint,
¶ms->common.max_nb_queue_pairs);
if (ret < 0)
goto free_kvlist;
ret = rte_kvargs_process(kvlist,
RTE_CRYPTODEV_PMD_SOCKET_ID_ARG,
- &parse_integer_arg,
+ rte_kvargs_handle_socket_id,
¶ms->common.socket_id);
if (ret < 0)
goto free_kvlist;
@@ -1191,7 +1175,7 @@ mrvl_pmd_parse_input_args(struct mrvl_pmd_init_params *params,
ret = rte_kvargs_process(kvlist,
MRVL_PMD_MAX_NB_SESS_ARG,
- &parse_integer_arg,
+ rte_kvargs_handle_u32,
¶ms->max_nb_sessions);
if (ret < 0)
goto free_kvlist;
--
2.53.0
More information about the dev
mailing list