[PATCH v2 42/61] drivers/crypto: use kvargs numeric helpers
Stephen Hemminger
stephen at networkplumber.org
Tue Sep 29 18:36:45 CEST 2026
The dump mode handlers use atoi(), which cannot report an error, so a
malformed value is silently taken as zero, which disables dumping
entirely rather than being rejected.
Out of range values keep being clamped to the full dump level, as
before.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 15 ++++++++++++---
drivers/crypto/dpaa_sec/dpaa_sec.c | 17 +++++++++++++----
2 files changed, 25 insertions(+), 7 deletions(-)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 3d980d096f..93e92af6a7 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -4342,13 +4342,22 @@ check_devargs_handler(const char *key, const char *value,
if (!strcmp(key, "drv_strict_order")) {
priv->en_loose_ordered = false;
} else if (!strcmp(key, "drv_dump_mode")) {
- dpaa2_sec_dp_dump = atoi(value);
- if (dpaa2_sec_dp_dump > DPAA2_SEC_DP_FULL_DUMP) {
+ uint64_t val;
+
+ if (rte_kvargs_to_uint(value, 0, UINT8_MAX, &val) < 0) {
+ DPAA2_SEC_WARN("WARN: invalid value \"%s\" for \"%s\"",
+ value, key);
+ return -EINVAL;
+ }
+
+ if (val > DPAA2_SEC_DP_FULL_DUMP) {
DPAA2_SEC_WARN("WARN: DPAA2_SEC_DP_DUMP_LEVEL is not "
"supported, changing to FULL error"
" prints");
- dpaa2_sec_dp_dump = DPAA2_SEC_DP_FULL_DUMP;
+ val = DPAA2_SEC_DP_FULL_DUMP;
}
+
+ dpaa2_sec_dp_dump = val;
} else
return -1;
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c
index c53ee70853..3feb752bcd 100644
--- a/drivers/crypto/dpaa_sec/dpaa_sec.c
+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c
@@ -3625,16 +3625,25 @@ dpaa_sec_uninit(struct rte_cryptodev *dev)
}
static int
-check_devargs_handler(__rte_unused const char *key, const char *value,
+check_devargs_handler(const char *key, const char *value,
__rte_unused void *opaque)
{
- dpaa_sec_dp_dump = atoi(value);
- if (dpaa_sec_dp_dump > DPAA_SEC_DP_FULL_DUMP) {
+ uint64_t val;
+
+ if (rte_kvargs_to_uint(value, 0, UINT8_MAX, &val) < 0) {
+ DPAA_SEC_WARN("WARN: invalid value \"%s\" for \"%s\"",
+ value, key);
+ return -EINVAL;
+ }
+
+ if (val > DPAA_SEC_DP_FULL_DUMP) {
DPAA_SEC_WARN("WARN: DPAA_SEC_DP_DUMP_LEVEL is not "
"supported, changing to FULL error prints");
- dpaa_sec_dp_dump = DPAA_SEC_DP_FULL_DUMP;
+ val = DPAA_SEC_DP_FULL_DUMP;
}
+ dpaa_sec_dp_dump = val;
+
return 0;
}
--
2.53.0
More information about the dev
mailing list