On Wed, Nov 20, 2024 at 10:51:26AM +0000, Medvedkin, Vladimir wrote: > Hi Andre, > > On 20/11/2024 03:13, Andre Muezerie wrote: > >MSVC does not support VLAs, replace VLAs with standard C arrays. > > > >Signed-off-by: Andre Muezerie<andre...@linux.microsoft.com> > >--- > > lib/hash/rte_thash_gf2_poly_math.c | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > >diff --git a/lib/hash/rte_thash_gf2_poly_math.c > >b/lib/hash/rte_thash_gf2_poly_math.c > >index 1c62974e71..cf7c7d396c 100644 > >--- a/lib/hash/rte_thash_gf2_poly_math.c > >+++ b/lib/hash/rte_thash_gf2_poly_math.c > >@@ -8,6 +8,7 @@ > > #include <rte_thash.h> > > #include <rte_log.h> > >+#define MAX_POLY_DEGREE 32 > > #define MAX_TOEPLITZ_KEY_LENGTH 64 > > RTE_LOG_REGISTER_SUFFIX(thash_poly_logtype, thash_poly, INFO); > > #define RTE_LOGTYPE_HASH thash_poly_logtype > >@@ -149,7 +150,7 @@ gf2_pow(uint32_t a, uint32_t pow, uint32_t r, int degree) > > static uint32_t > > __thash_get_rand_poly(int poly_degree) > > { > >- uint32_t roots[poly_degree]; > >+ uint32_t roots[MAX_POLY_DEGREE]; > > uint32_t rnd; > > uint32_t ret_poly = 0; > > int i, j; > >@@ -194,7 +195,7 @@ __thash_get_rand_poly(int poly_degree) > > * Get coefficients of the polynomial for > > * (x - roots[0])(x - roots[1])...(x - roots[n]) > > */ > >- uint32_t poly_coefficients[poly_degree + 1]; > >+ uint32_t poly_coefficients[MAX_POLY_DEGREE + 1]; > > for (i = 0; i <= poly_degree; i++) > > poly_coefficients[i] = 0; > Since poly_coefficients is not a VLA anymore you can initializeit > with zeros and get rid of the loop
Good observation. I'll update this. Regards, Andre > >@@ -247,7 +248,7 @@ thash_get_rand_poly(uint32_t poly_degree) > > { > > uint32_t ret_poly; > >- if (poly_degree > 32) { > >+ if (poly_degree > MAX_POLY_DEGREE) { > > HASH_LOG(ERR, "Wrong polynomial degree %d, must be in range [1, > > 32]", poly_degree); > > return 0; > > } > > -- > Regards, > Vladimir