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.