[dpdk-stable] patch 'eal/x86: fix type of variable in memcpy function' has been queued to LTS release 17.11.5

Yongseok Koh yskoh at mellanox.com
Thu Jan 3 09:13:53 CET 2019


Hi,

FYI, your patch has been queued to LTS release 17.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 01/04/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Yongseok

---
>From 68a61e636d3fad1eaa5407d8ce34af0cf0586d5c Mon Sep 17 00:00:00 2001
From: Andy Green <andy at warmcat.com>
Date: Tue, 22 May 2018 09:24:12 +0800
Subject: [PATCH] eal/x86: fix type of variable in memcpy function

[ upstream commit 14035e5fadff19efb17069c6dc463670a8e8b6c1 ]

GCC 8.1 warned:

rte_memcpy.h:793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47'
  MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
  ^~~~~~~~~~~~~~~~~~~~
rte_memcpy.h:649:51: warning: conversion from 'size_t'
{aka 'long unsigned int'} to 'int' may change value [-Wconversion]
     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;
                                                   ^

rte_memcpy.h:616:15: note: in definition of macro 'MOVEUNALIGNED_LEFT47_IMM'
         tmp = len;
               ^~~
rte_memcpy.h:793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47'
  MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
  ^~~~~~~~~~~~~~~~~~~~
rte_memcpy.h:618:13: warning: conversion to 'size_t'
{aka 'long unsigned int'} from 'int'
may change the sign of the result [-Wsign-conversion]
         tmp -= len;
             ^~

rte_memcpy.h:649:16: note: in expansion of macro 'MOVEUNALIGNED_LEFT47_IMM'
     case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break;
                ^~~~~~~~~~~~~~~~~~~~~~~~
rte_memcpy.h:793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47'
  MOVEUNALIGNED_LEFT47(dst, src, n, srcofs);
  ^~~~~~~~~~~~~~~~~~~~
rte_memcpy.h:618:13: warning: conversion to 'size_t'
{aka 'long unsigned int'} from 'int'
may change the sign of the result [-Wsign-conversion]
             tmp -= len;
                 ^~

We can eliminate the problems by setting the type of tmp to
size_t in the first place.

Fixes: d35cc1fe6a ("eal/x86: revert select optimized memcpy at run-time")

Suggested-by: Bruce Richardson <bruce.richardson at intel.com>
Signed-off-by: Andy Green <andy at warmcat.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
 lib/librte_eal/common/include/arch/x86/rte_memcpy.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
index 596d77791..3f4a9db83 100644
--- a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
+++ b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
@@ -603,7 +603,7 @@ rte_mov256(uint8_t *dst, const uint8_t *src)
  */
 #define MOVEUNALIGNED_LEFT47_IMM(dst, src, len, offset)                                                     \
 __extension__ ({                                                                                            \
-    int tmp;                                                                                                \
+    size_t tmp;                                                                                                \
     while (len >= 128 + 16 - offset) {                                                                      \
         xmm0 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 0 * 16));                  \
         len -= 128;                                                                                         \
-- 
2.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-01-02 23:59:13.674492972 -0800
+++ 0030-eal-x86-fix-type-of-variable-in-memcpy-function.patch	2019-01-02 23:59:12.094816000 -0800
@@ -1,8 +1,10 @@
-From 14035e5fadff19efb17069c6dc463670a8e8b6c1 Mon Sep 17 00:00:00 2001
+From 68a61e636d3fad1eaa5407d8ce34af0cf0586d5c Mon Sep 17 00:00:00 2001
 From: Andy Green <andy at warmcat.com>
 Date: Tue, 22 May 2018 09:24:12 +0800
 Subject: [PATCH] eal/x86: fix type of variable in memcpy function
 
+[ upstream commit 14035e5fadff19efb17069c6dc463670a8e8b6c1 ]
+
 GCC 8.1 warned:
 
 rte_memcpy.h:793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47'
@@ -41,7 +43,6 @@
 size_t in the first place.
 
 Fixes: d35cc1fe6a ("eal/x86: revert select optimized memcpy at run-time")
-Cc: stable at dpdk.org
 
 Suggested-by: Bruce Richardson <bruce.richardson at intel.com>
 Signed-off-by: Andy Green <andy at warmcat.com>
@@ -51,10 +52,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
-index 5ead68ab2..7b758094d 100644
+index 596d77791..3f4a9db83 100644
 --- a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
 +++ b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
-@@ -574,7 +574,7 @@ rte_mov256(uint8_t *dst, const uint8_t *src)
+@@ -603,7 +603,7 @@ rte_mov256(uint8_t *dst, const uint8_t *src)
   */
  #define MOVEUNALIGNED_LEFT47_IMM(dst, src, len, offset)                                                     \
  __extension__ ({                                                                                            \


More information about the stable mailing list