<div dir="ltr">FYI The DTS failure for this series on patchwork for the MTU testsuite is coming from a different patch than this one. Once I have that resolved, I will put in a retest for this series which will clear up that MTU testsuite failure.</div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Mon, Sep 8, 2025 at 5:21 PM Thomas Monjalon <<a href="mailto:thomas@monjalon.net">thomas@monjalon.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">After an upgrade to MinGW version 13, compilation breaks:<br>
<br>
In function 'rte_bbdev_queue_ops_dump':<br>
lib/bbdev/rte_bbdev.c:1269:63: error:<br>
        '%s' directive argument is null [-Werror=format-overflow=]<br>
        fprintf(f, "  Enqueue Status Counters %s %" PRIu64 "\n",<br>
<br>
The enqueue status string may be null if the index is too high,<br>
because RTE_BBDEV_ENQ_STATUS_SIZE_MAX is defined to include<br>
padding for future enum insertion.<br>
This padding case must be checked<br>
to avoid printing a dump of a non-existing status.<br>
<br>
Fixes: 353e3639d458 ("bbdev: add queue debug dump")<br>
Cc: <a href="mailto:stable@dpdk.org" target="_blank">stable@dpdk.org</a><br>
<br>
Signed-off-by: Thomas Monjalon <<a href="mailto:thomas@monjalon.net" target="_blank">thomas@monjalon.net</a>><br>
Acked-by: Bruce Richardson <<a href="mailto:bruce.richardson@intel.com" target="_blank">bruce.richardson@intel.com</a>><br>
Acked-by: Hemant Agrawal <<a href="mailto:hemant.agrawal@nxp.com" target="_blank">hemant.agrawal@nxp.com</a>><br>
---<br>
v2: make status_str variable local<br>
---<br>
 lib/bbdev/rte_bbdev.c | 8 ++++++--<br>
 1 file changed, 6 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/lib/bbdev/rte_bbdev.c b/lib/bbdev/rte_bbdev.c<br>
index e0f8c8eb0d..e76124532d 100644<br>
--- a/lib/bbdev/rte_bbdev.c<br>
+++ b/lib/bbdev/rte_bbdev.c<br>
@@ -1264,11 +1264,15 @@ rte_bbdev_queue_ops_dump(uint16_t dev_id, uint16_t queue_id, FILE *f)<br>
                        dev->data->name, queue_id);<br>
        fprintf(f, "  Last Enqueue Status %s\n",<br>
                        rte_bbdev_enqueue_status_str(q_data->enqueue_status));<br>
-       for (i = 0; i < RTE_BBDEV_ENQ_STATUS_SIZE_MAX; i++)<br>
+       for (i = 0; i < RTE_BBDEV_ENQ_STATUS_SIZE_MAX; i++) {<br>
+               const char *status_str = rte_bbdev_enqueue_status_str(i);<br>
+               if (status_str == NULL)<br>
+                       continue;<br>
                if (q_data->queue_stats.enqueue_status_count[i] > 0)<br>
                        fprintf(f, "  Enqueue Status Counters %s %" PRIu64 "\n",<br>
-                                       rte_bbdev_enqueue_status_str(i),<br>
+                                       status_str,<br>
                                        q_data->queue_stats.enqueue_status_count[i]);<br>
+       }<br>
        stats = &dev->data->queues[queue_id].queue_stats;<br>
<br>
        fprintf(f, "  Enqueue Count %" PRIu64 " Warning %" PRIu64 " Error %" PRIu64 "\n",<br>
-- <br>
2.51.0<br>
<br>
</blockquote></div>