All of lore.kernel.org
 help / color / mirror / Atom feed
* [DPDK/core Bug 1952] hash: build fails with LTO
@ 2026-06-04  7:46 bugzilla
  0 siblings, 0 replies; only message in thread
From: bugzilla @ 2026-06-04  7:46 UTC (permalink / raw)
  To: dev

http://bugs.dpdk.org/show_bug.cgi?id=1952

            Bug ID: 1952
           Summary: hash: build fails with LTO
           Product: DPDK
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: core
          Assignee: bruce.richardson@intel.com
          Reporter: david.marchand@redhat.com
                CC: dev@dpdk.org, konstantin.v.ananyev@yandex.ru,
                    ktraynor@redhat.com, vladimir.medvedkin@intel.com
  Target Milestone: ---

It is similar to a previous report, that resulting in silencing associated
warnings in dea4c5415506 ("ring: silence GCC 12 warnings").

For now, I associate the issue to the hash library, though the problem may be
on the ring library side.


Minimal reproducer:

# rm -rf build; meson setup build -Db_lto=true -Dcpu_instruction_set=generic
-Doptimization=0 -Ddisable_libs=* -Denable_apps=test-pmd
-Denable_drivers=net/null -Ddeveloper_mode=disabled && ninja -C build
...
The Meson build system
Version: 1.7.2
...
Project version: 26.07.0-rc0
C compiler for the host machine: ccache cc (gcc 15.2.1 "cc (GCC) 15.2.1
20260123 (Red Hat 15.2.1-7)")
C linker for the host machine: cc ld.bfd 2.44-12
...
Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0
...
Compiler for C supports arguments -ffat-lto-objects: YES 
...
Found ninja-1.12.1 at /usr/bin/ninja
ninja: Entering directory `build'                                               
[280/284] Linking target lib/librte_hash.so.26.2
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_create’ at ../lib/hash/rte_cuckoo_hash.c:375:4:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_create’:
../lib/hash/rte_cuckoo_hash.c:184:18: note: source object ‘i’ of size 4
  184 |         uint32_t i;
      |                  ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_create’ at ../lib/hash/rte_cuckoo_hash.c:524:3:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_create’:
../lib/hash/rte_cuckoo_hash.c:184:18: note: source object ‘i’ of size 4
  184 |         uint32_t i;
      |                  ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_reset’ at ../lib/hash/rte_cuckoo_hash.c:730:3:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_reset’:
../lib/hash/rte_cuckoo_hash.c:693:32: note: source object ‘i’ of size 4
  693 |         uint32_t tot_ring_cnt, i;
      |                                ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_reset’ at ../lib/hash/rte_cuckoo_hash.c:735:4:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_reset’:
../lib/hash/rte_cuckoo_hash.c:693:32: note: source object ‘i’ of size 4
  693 |         uint32_t tot_ring_cnt, i;
      |                                ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘enqueue_slot_back’ at ../lib/hash/rte_cuckoo_hash.c:761:3:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘enqueue_slot_back’:
../lib/hash/rte_cuckoo_hash.c:755:26: note: source object ‘slot_id’ of size 4
  755 |                 uint32_t slot_id)
      |                          ^
In function ‘__rte_ring_dequeue_elems_128’,
    inlined from ‘__rte_ring_do_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:279:3,
    inlined from ‘__rte_ring_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:298:2,
    inlined from ‘__rte_ring_do_dequeue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:466:2,
    inlined from ‘rte_ring_sc_dequeue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:344:9,
    inlined from ‘rte_ring_sc_dequeue_elem’ at
../lib/ring/rte_ring_elem.h:444:9,
    inlined from ‘alloc_slot’ at ../lib/hash/rte_cuckoo_hash.c:1098:7:
../lib/ring/rte_ring_elem_pvt.h:250:25: warning: ‘memcpy’ writing 32 bytes into
a region of size 4 overflows the destination [-Wstringop-overflow=]
  250 |                         memcpy((obj + i), (const void *)(ring + idx),
32);
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘alloc_slot’:
../lib/hash/rte_cuckoo_hash.c:1078:18: note: destination object ‘slot_id’ of
size 4
 1078 |         uint32_t slot_id;
      |                  ^
In function ‘__rte_ring_dequeue_elems_128’,
    inlined from ‘__rte_ring_do_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:279:3,
    inlined from ‘__rte_ring_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:298:2,
    inlined from ‘__rte_ring_do_dequeue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:466:2,
    inlined from ‘rte_ring_sc_dequeue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:344:9,
    inlined from ‘rte_ring_sc_dequeue_elem’ at
../lib/ring/rte_ring_elem.h:444:9,
    inlined from ‘__rte_hash_add_key_with_hash’ at
../lib/hash/rte_cuckoo_hash.c:1260:6:
../lib/ring/rte_ring_elem_pvt.h:250:25: warning: ‘memcpy’ writing 32 bytes into
a region of size 4 overflows the destination [-Wstringop-overflow=]
  250 |                         memcpy((obj + i), (const void *)(ring + idx),
32);
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘__rte_hash_add_key_with_hash’:
../lib/hash/rte_cuckoo_hash.c:1114:18: note: destination object ‘ext_bkt_id’ of
size 4
 1114 |         uint32_t ext_bkt_id = 0;
      |                  ^
In function ‘__rte_ring_dequeue_elems_128’,
    inlined from ‘__rte_ring_do_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:279:3,
    inlined from ‘__rte_ring_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:298:2,
    inlined from ‘__rte_ring_do_dequeue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:466:2,
    inlined from ‘rte_ring_sc_dequeue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:344:9,
    inlined from ‘rte_ring_sc_dequeue_elem’ at
../lib/ring/rte_ring_elem.h:444:9,
    inlined from ‘__rte_hash_add_key_with_hash’ at
../lib/hash/rte_cuckoo_hash.c:1267:5:
../lib/ring/rte_ring_elem_pvt.h:250:25: warning: ‘memcpy’ writing 32 bytes into
a region of size 4 overflows the destination [-Wstringop-overflow=]
  250 |                         memcpy((obj + i), (const void *)(ring + idx),
32);
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘__rte_hash_add_key_with_hash’:
../lib/hash/rte_cuckoo_hash.c:1114:18: note: destination object ‘ext_bkt_id’ of
size 4
 1114 |         uint32_t ext_bkt_id = 0;
      |                  ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘__hash_rcu_qsbr_free_resource’ at
../lib/hash/rte_cuckoo_hash.c:1616:3:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 12 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘__hash_rcu_qsbr_free_resource’:
../lib/hash/rte_cuckoo_hash.c:1592:40: note: at offset [4, 16] into source
object ‘rcu_dq_entry’ of size 16
 1592 |         struct __rte_hash_rcu_dq_entry rcu_dq_entry =
      |                                        ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘__rte_hash_del_key_with_hash’ at
../lib/hash/rte_cuckoo_hash.c:1899:4:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘__rte_hash_del_key_with_hash’:
../lib/hash/rte_cuckoo_hash.c:1831:18: note: source object ‘index’ of size 4
 1831 |         uint32_t index = EMPTY_SLOT;
      |                  ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_free_key_with_position’ at
../lib/hash/rte_cuckoo_hash.c:1981:4:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_free_key_with_position’:
../lib/hash/rte_cuckoo_hash.c:1978:26: note: source object ‘index’ of size 4
 1978 |                 uint32_t index = h->ext_bkt_to_free[position];
      |                          ^
[284/284] Linking target app/dpdk-testpmd
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_create’ at ../lib/hash/rte_cuckoo_hash.c:375:4:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_create’:
../lib/hash/rte_cuckoo_hash.c:184:18: note: source object ‘i’ of size 4
  184 |         uint32_t i;
      |                  ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_create’ at ../lib/hash/rte_cuckoo_hash.c:524:3:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_create’:
../lib/hash/rte_cuckoo_hash.c:184:18: note: source object ‘i’ of size 4
  184 |         uint32_t i;
      |                  ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_reset’ at ../lib/hash/rte_cuckoo_hash.c:730:3:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_reset’:
../lib/hash/rte_cuckoo_hash.c:693:32: note: source object ‘i’ of size 4
  693 |         uint32_t tot_ring_cnt, i;
      |                                ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_reset’ at ../lib/hash/rte_cuckoo_hash.c:735:4:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_reset’:
../lib/hash/rte_cuckoo_hash.c:693:32: note: source object ‘i’ of size 4
  693 |         uint32_t tot_ring_cnt, i;
      |                                ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘enqueue_slot_back’ at ../lib/hash/rte_cuckoo_hash.c:761:3:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘enqueue_slot_back’:
../lib/hash/rte_cuckoo_hash.c:755:26: note: source object ‘slot_id’ of size 4
  755 |                 uint32_t slot_id)
      |                          ^
In function ‘__rte_ring_dequeue_elems_128’,
    inlined from ‘__rte_ring_do_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:279:3,
    inlined from ‘__rte_ring_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:298:2,
    inlined from ‘__rte_ring_do_dequeue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:466:2,
    inlined from ‘rte_ring_sc_dequeue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:344:9,
    inlined from ‘rte_ring_sc_dequeue_elem’ at
../lib/ring/rte_ring_elem.h:444:9,
    inlined from ‘alloc_slot’ at ../lib/hash/rte_cuckoo_hash.c:1098:7:
../lib/ring/rte_ring_elem_pvt.h:250:25: warning: ‘memcpy’ writing 32 bytes into
a region of size 4 overflows the destination [-Wstringop-overflow=]
  250 |                         memcpy((obj + i), (const void *)(ring + idx),
32);
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘alloc_slot’:
../lib/hash/rte_cuckoo_hash.c:1078:18: note: destination object ‘slot_id’ of
size 4
 1078 |         uint32_t slot_id;
      |                  ^
In function ‘__rte_ring_dequeue_elems_128’,
    inlined from ‘__rte_ring_do_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:279:3,
    inlined from ‘__rte_ring_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:298:2,
    inlined from ‘__rte_ring_do_dequeue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:466:2,
    inlined from ‘rte_ring_sc_dequeue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:344:9,
    inlined from ‘rte_ring_sc_dequeue_elem’ at
../lib/ring/rte_ring_elem.h:444:9,
    inlined from ‘__rte_hash_add_key_with_hash’ at
../lib/hash/rte_cuckoo_hash.c:1260:6:
../lib/ring/rte_ring_elem_pvt.h:250:25: warning: ‘memcpy’ writing 32 bytes into
a region of size 4 overflows the destination [-Wstringop-overflow=]
  250 |                         memcpy((obj + i), (const void *)(ring + idx),
32);
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘__rte_hash_add_key_with_hash’:
../lib/hash/rte_cuckoo_hash.c:1114:18: note: destination object ‘ext_bkt_id’ of
size 4
 1114 |         uint32_t ext_bkt_id = 0;
      |                  ^
In function ‘__rte_ring_dequeue_elems_128’,
    inlined from ‘__rte_ring_do_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:279:3,
    inlined from ‘__rte_ring_dequeue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:298:2,
    inlined from ‘__rte_ring_do_dequeue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:466:2,
    inlined from ‘rte_ring_sc_dequeue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:344:9,
    inlined from ‘rte_ring_sc_dequeue_elem’ at
../lib/ring/rte_ring_elem.h:444:9,
    inlined from ‘__rte_hash_add_key_with_hash’ at
../lib/hash/rte_cuckoo_hash.c:1267:5:
../lib/ring/rte_ring_elem_pvt.h:250:25: warning: ‘memcpy’ writing 32 bytes into
a region of size 4 overflows the destination [-Wstringop-overflow=]
  250 |                         memcpy((obj + i), (const void *)(ring + idx),
32);
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘__rte_hash_add_key_with_hash’:
../lib/hash/rte_cuckoo_hash.c:1114:18: note: destination object ‘ext_bkt_id’ of
size 4
 1114 |         uint32_t ext_bkt_id = 0;
      |                  ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘__hash_rcu_qsbr_free_resource’ at
../lib/hash/rte_cuckoo_hash.c:1616:3:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 12 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘__hash_rcu_qsbr_free_resource’:
../lib/hash/rte_cuckoo_hash.c:1592:40: note: at offset [4, 16] into source
object ‘rcu_dq_entry’ of size 16
 1592 |         struct __rte_hash_rcu_dq_entry rcu_dq_entry =
      |                                        ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘__rte_hash_del_key_with_hash’ at
../lib/hash/rte_cuckoo_hash.c:1899:4:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘__rte_hash_del_key_with_hash’:
../lib/hash/rte_cuckoo_hash.c:1831:18: note: source object ‘index’ of size 4
 1831 |         uint32_t index = EMPTY_SLOT;
      |                  ^
In function ‘__rte_ring_enqueue_elems_128’,
    inlined from ‘__rte_ring_do_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:141:3,
    inlined from ‘__rte_ring_enqueue_elems’ at
../lib/ring/rte_ring_elem_pvt.h:160:2,
    inlined from ‘__rte_ring_do_enqueue_elem’ at
../lib/ring/rte_ring_elem_pvt.h:419:2,
    inlined from ‘rte_ring_sp_enqueue_bulk_elem’ at
../lib/ring/rte_ring_elem.h:159:9,
    inlined from ‘rte_ring_sp_enqueue_elem’ at
../lib/ring/rte_ring_elem.h:260:9,
    inlined from ‘rte_hash_free_key_with_position’ at
../lib/hash/rte_cuckoo_hash.c:1981:4:
../lib/ring/rte_ring_elem_pvt.h:108:25: warning: ‘memcpy’ reading 32 bytes from
a region of size 4 [-Wstringop-overread]
  108 |                         memcpy((void *)(ring + idx),
      |                         ^
../lib/hash/rte_cuckoo_hash.c: In function ‘rte_hash_free_key_with_position’:
../lib/hash/rte_cuckoo_hash.c:1978:26: note: source object ‘index’ of size 4
 1978 |                 uint32_t index = h->ext_bkt_to_free[position];
      |                          ^

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-04  7:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-04  7:46 [DPDK/core Bug 1952] hash: build fails with LTO bugzilla

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.