| Bug ID | 1678 |
|---|---|
| Summary | acl: build issue in Neon implementation with GCC 15 in Fedora Rawhide Aarch64 |
| Product | DPDK |
| Version | unspecified |
| Hardware | All |
| OS | All |
| Status | UNCONFIRMED |
| Severity | normal |
| Priority | Normal |
| Component | other |
| Assignee | dev@dpdk.org |
| Reporter | david.marchand@redhat.com |
| Target Milestone | --- |
This was caught in OBS, and can be reproduced with a Fedora Rawhide aarch64 container. bash-5.2# meson setup build-fedora-aarch64 -Ddisable_drivers=*/* -Denable_libs=acl -Ddeveloper_mode=disabled -Dmachine=default ... bash-5.2# ninja -C build-fedora-aarch64 lib/librte_acl.a ninja: Entering directory `build-fedora-aarch64' [6/7] Compiling C object lib/librte_acl.a.p/acl_acl_run_neon.c.o In file included from ../lib/acl/acl_run_neon.h:7, from ../lib/acl/acl_run_neon.c:5: In function 'alloc_completion', inlined from 'acl_start_next_trie' at ../lib/acl/acl_run.h:140:24, inlined from 'search_neon_4.isra' at ../lib/acl/acl_run_neon.h:239:20: ../lib/acl/acl_run.h:93:25: warning: 'cmplt' may be used uninitialized [-Wmaybe-uninitialized] 93 | if (p[n].count == 0) { | ~~~~^~~~~~ ../lib/acl/acl_run_neon.h: In function 'search_neon_4.isra': ../lib/acl/acl_run_neon.h:230:27: note: 'cmplt' declared here 230 | struct completion cmplt[4]; | ^~~~~ In function 'alloc_completion', inlined from 'acl_start_next_trie' at ../lib/acl/acl_run.h:140:24, inlined from 'search_neon_4.isra' at ../lib/acl/acl_run_neon.h:239:20: ../lib/acl/acl_run.h:93:25: warning: 'cmplt' may be used uninitialized [-Wmaybe-uninitialized] 93 | if (p[n].count == 0) { | ~~~~^~~~~~ ../lib/acl/acl_run_neon.h: In function 'search_neon_4.isra': ../lib/acl/acl_run_neon.h:230:27: note: 'cmplt' declared here 230 | struct completion cmplt[4]; | ^~~~~ In function 'alloc_completion', inlined from 'acl_start_next_trie' at ../lib/acl/acl_run.h:140:24, inlined from 'search_neon_4.isra' at ../lib/acl/acl_run_neon.h:239:20: ../lib/acl/acl_run.h:93:25: warning: 'cmplt' may be used uninitialized [-Wmaybe-uninitialized] 93 | if (p[n].count == 0) { | ~~~~^~~~~~ ../lib/acl/acl_run_neon.h: In function 'search_neon_4.isra': ../lib/acl/acl_run_neon.h:230:27: note: 'cmplt' declared here 230 | struct completion cmplt[4]; | ^~~~~ [7/7] Linking static target lib/librte_acl.a A quick fix (needs review): diff --git a/lib/acl/acl_run_neon.h b/lib/acl/acl_run_neon.h index 63074f871d..ed7424e076 100644 --- a/lib/acl/acl_run_neon.h +++ b/lib/acl/acl_run_neon.h @@ -234,10 +234,10 @@ search_neon_4(const struct rte_acl_ctx *ctx, const uint8_t **data, acl_set_flow(&flows, cmplt, RTE_DIM(cmplt), data, results, total_packets, categories, ctx->trans_table); - for (n = 0; n < 4; n++) { + for (n = 0; n < 4; n++) cmplt[n].count = 0; + for (n = 0; n < 4; n++) index_array[n] = acl_start_next_trie(&flows, parms, n, ctx); - } /* Check for any matches. */ acl_match_check_x4(0, ctx, parms, &flows, index_array);