This test has tables of data that get copied with rte_memcpy.
But when compiled without always inline the compiler gets confused
by the inlining of rte_memcpy and thinks that it is possible for AVX
code to reference past the input data.

Workaround is to use memcpy() which is better for this test anyway
since regular memcpy has more static checking from compiler and
analyzers.

Signed-off-by: Stephen Hemminger <[email protected]>
---
 app/test/test_ipsec.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c
index 139c1e8dec..b5a430996d 100644
--- a/app/test/test_ipsec.c
+++ b/app/test/test_ipsec.c
@@ -10,7 +10,6 @@
 #include <rte_hexdump.h>
 #include <rte_mbuf.h>
 #include <rte_malloc.h>
-#include <rte_memcpy.h>
 #include <rte_cycles.h>
 #include <rte_bus_vdev.h>
 #include <rte_ip.h>
@@ -559,7 +558,7 @@ setup_test_string(struct rte_mempool *mpool, const char 
*string,
                        return NULL;
                }
                if (string != NULL)
-                       rte_memcpy(dst, string, t_len);
+                       memcpy(dst, string, t_len);
                else
                        memset(dst, 0, t_len);
        }
@@ -604,22 +603,22 @@ setup_test_string_tunneled(struct rte_mempool *mpool, 
const char *string,
        /* copy outer IP and ESP header */
        ipv4_outer.total_length = rte_cpu_to_be_16(t_len);
        ipv4_outer.packet_id = rte_cpu_to_be_16(seq);
-       rte_memcpy(dst, &ipv4_outer, sizeof(ipv4_outer));
+       memcpy(dst, &ipv4_outer, sizeof(ipv4_outer));
        dst += sizeof(ipv4_outer);
        m->l3_len = sizeof(ipv4_outer);
-       rte_memcpy(dst, &esph, sizeof(esph));
+       memcpy(dst, &esph, sizeof(esph));
        dst += sizeof(esph);
 
        if (string != NULL) {
                /* copy payload */
-               rte_memcpy(dst, string, len);
+               memcpy(dst, string, len);
                dst += len;
                /* copy pad bytes */
-               rte_memcpy(dst, esp_pad_bytes, RTE_MIN(padlen,
+               memcpy(dst, esp_pad_bytes, RTE_MIN(padlen,
                        sizeof(esp_pad_bytes)));
                dst += padlen;
                /* copy ESP tail header */
-               rte_memcpy(dst, &espt, sizeof(espt));
+               memcpy(dst, &espt, sizeof(espt));
        } else
                memset(dst, 0, t_len);
 
-- 
2.53.0

Reply via email to