Following recent changes to the test-meson-build.sh script[1] to use more
build-types warnings are seen in the hash library GFNI code about values
possibly being uninitialized.
In function ‘_mm512_mask_permutexvar_epi8’,
inlined from ‘__rte_thash_gfni’ at ../lib/hash/rte_thash_x86_gfni.h:150:6:
/usr/lib/gcc/x86_64-linux-gnu/15/include/avx512vbmiintrin.h:97:20: error:
‘tuple_bytes_2’ may be used uninitialized [-Werror=maybe-uninitialized]
These all appear to be a false positive, but fix these by explicitly
zero-initializing the offending values.
[1] 177acaf5cf75 ("devtools: test different build types")
Fixes: 4fd8c4cb0de1 ("hash: add new Toeplitz hash implementation")
Cc: [email protected]
Signed-off-by: Bruce Richardson <[email protected]>
---
lib/hash/rte_thash_x86_gfni.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/hash/rte_thash_x86_gfni.h b/lib/hash/rte_thash_x86_gfni.h
index 99226b7592..69973503fd 100644
--- a/lib/hash/rte_thash_x86_gfni.h
+++ b/lib/hash/rte_thash_x86_gfni.h
@@ -89,9 +89,9 @@ __rte_thash_gfni(const uint64_t *mtrx, const uint8_t *tuple,
const __m512i shift_8 = _mm512_set1_epi8(8);
__m512i xor_acc = _mm512_setzero_si512();
__m512i perm_bytes = _mm512_setzero_si512();
- __m512i vals, matrixes, tuple_bytes_2;
+ __m512i vals, matrixes, tuple_bytes_2 = _mm512_setzero_si512();
__m512i tuple_bytes = _mm512_setzero_si512();
- __mmask64 load_mask, permute_mask_2;
+ __mmask64 load_mask, permute_mask_2 = 0;
__mmask64 permute_mask = 0;
int chunk_len = 0, i = 0;
uint8_t mtrx_msk;
--
2.51.0