[Bug 1289] rte_table: lookup functions have UB for ctz

bugzilla at dpdk.org bugzilla at dpdk.org
Fri Sep 15 13:49:01 CEST 2023


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: dev at dpdk.org
          Reporter: qrealka at gmail.com
  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.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20230915/a11c119f/attachment.htm>


More information about the dev mailing list