[PATCH 3/3] bbdev: wrong fix for MinGW 13
Thomas Monjalon
thomas at monjalon.net
Wed Aug 13 17:25:25 CEST 2025
After an upgrade to MinGW version 13, compilation breaks:
In function 'rte_bbdev_queue_ops_dump':
lib/bbdev/rte_bbdev.c:1269:63: error:
'%s' directive argument is null [-Werror=format-overflow=]
fprintf(f, " Enqueue Status Counters %s %" PRIu64 "\n",
The enqueue status string may be null if the index is too high,
because RTE_BBDEV_ENQ_STATUS_SIZE_MAX is defined to include
padding for future enum insertion.
This padding case must be checked
to avoid printing a dump of a non-existing status.
Fixes: 353e3639d458 ("bbdev: add queue debug dump")
Cc: stable at dpdk.org
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
---
lib/bbdev/rte_bbdev.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/bbdev/rte_bbdev.c b/lib/bbdev/rte_bbdev.c
index e0f8c8eb0d..d662a2b364 100644
--- a/lib/bbdev/rte_bbdev.c
+++ b/lib/bbdev/rte_bbdev.c
@@ -1248,6 +1248,7 @@ rte_bbdev_queue_ops_dump(uint16_t dev_id, uint16_t queue_id, FILE *f)
struct rte_bbdev_queue_data *q_data;
struct rte_bbdev_stats *stats;
uint16_t i;
+ const char *status_str;
struct rte_bbdev *dev = get_dev(dev_id);
VALID_DEV_OR_RET_ERR(dev, dev_id);
@@ -1264,11 +1265,15 @@ rte_bbdev_queue_ops_dump(uint16_t dev_id, uint16_t queue_id, FILE *f)
dev->data->name, queue_id);
fprintf(f, " Last Enqueue Status %s\n",
rte_bbdev_enqueue_status_str(q_data->enqueue_status));
- for (i = 0; i < RTE_BBDEV_ENQ_STATUS_SIZE_MAX; i++)
+ for (i = 0; i < RTE_BBDEV_ENQ_STATUS_SIZE_MAX; i++) {
+ status_str = rte_bbdev_enqueue_status_str(i);
+ if (status_str == NULL)
+ continue;
if (q_data->queue_stats.enqueue_status_count[i] > 0)
fprintf(f, " Enqueue Status Counters %s %" PRIu64 "\n",
- rte_bbdev_enqueue_status_str(i),
+ status_str,
q_data->queue_stats.enqueue_status_count[i]);
+ }
stats = &dev->data->queues[queue_id].queue_stats;
fprintf(f, " Enqueue Count %" PRIu64 " Warning %" PRIu64 " Error %" PRIu64 "\n",
--
2.47.1
More information about the dev
mailing list