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);
          


You are receiving this mail because: