Skip to contentSkip to conversation

rte_table: lookup functions have UB for ctz

Bug 1289 [email protected] 1 participant 1 message Sep 15, 2023

lore
Share & tools
lore
#0 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=1289

            Bug ID: 1289
           Summary: rte_table: lookup functions have UB for ctz
           Product: DPDK
           Version: 23.11
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: other
          Assignee: [email protected]
          Reporter: [email protected]

Target Milestone: ---

Macros 'lookup2_stage0_with_odd_support' can call rte_ctz with zero value (pkt_mask), which is undefined behaviour based on the GCC manual:
https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html

Quote: "
Built-in Function: int __builtin_ctz (unsigned int x)
Returns the number of trailing 0-bits in x, starting at the least significant bit position. If x is 0, the result is undefined.
"

It is confirmed by checking this code in GCC-13 with ASAN.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.