[PATCH 49/62] crypto/mvsam: use kvargs numeric helpers
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2026-09-14 05:54:11
Subsystem:
crypto api, the rest · Maintainers:
Herbert Xu, "David S. Miller", Linus Torvalds
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@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 a824719fb0..3fd39e20d8 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