[dpdk-stable] patch 'eal: explicit cast in constant byte swap' has been queued to LTS release 17.11.5

Yongseok Koh yskoh at mellanox.com
Thu Jan 3 09:13:42 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 bd017fffea36a2cb4a6322c8d5d911397ec4e776 Mon Sep 17 00:00:00 2001
From: Andy Green <andy at warmcat.com>
Date: Thu, 17 May 2018 21:50:37 +0800
Subject: [PATCH] eal: explicit cast in constant byte swap

[ upstream commit c7bf8093820b0d740e15f166c3fceb1edb2b2a83 ]

GCC 8.1 warns:

rte_byteorder.h: In function 'rte_constant_bswap16':
rte_byteorder.h:54:45: warning: conversion from
'int' to 'uint16_t' {aka 'short unsigned int'}
may change value [-Wconversion]
  ((((uint16_t)(v) & UINT16_C(0x00ff)) << 8) | \
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   (((uint16_t)(v) & UINT16_C(0xff00)) >> 8))
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rte_byteorder.h:126:9: note: in expansion of macro
'RTE_STATIC_BSWAP16'
  return RTE_STATIC_BSWAP16(x);
         ^~~~~~~~~~~~~~~~~~

The other two sizes are going to be afflicted the
same, so get the same fix.

Fixes: b75667ef9f7e ("eal: add static endianness conversion macros")

Signed-off-by: Andy Green <andy at warmcat.com>
---
 lib/librte_eal/common/include/generic/rte_byteorder.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/librte_eal/common/include/generic/rte_byteorder.h b/lib/librte_eal/common/include/generic/rte_byteorder.h
index 29e70c968..3d7ba5ecc 100644
--- a/lib/librte_eal/common/include/generic/rte_byteorder.h
+++ b/lib/librte_eal/common/include/generic/rte_byteorder.h
@@ -152,7 +152,7 @@ typedef uint64_t rte_le64_t; /**< 64-bit little-endian value. */
 static inline uint16_t
 rte_constant_bswap16(uint16_t x)
 {
-	return RTE_STATIC_BSWAP16(x);
+	return (uint16_t)RTE_STATIC_BSWAP16(x);
 }
 
 /*
@@ -164,7 +164,7 @@ rte_constant_bswap16(uint16_t x)
 static inline uint32_t
 rte_constant_bswap32(uint32_t x)
 {
-	return RTE_STATIC_BSWAP32(x);
+	return (uint32_t)RTE_STATIC_BSWAP32(x);
 }
 
 /*
@@ -176,7 +176,7 @@ rte_constant_bswap32(uint32_t x)
 static inline uint64_t
 rte_constant_bswap64(uint64_t x)
 {
-	return RTE_STATIC_BSWAP64(x);
+	return (uint64_t)RTE_STATIC_BSWAP64(x);
 }
 
 
-- 
2.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-01-02 23:59:13.099927412 -0800
+++ 0019-eal-explicit-cast-in-constant-byte-swap.patch	2019-01-02 23:59:12.068815000 -0800
@@ -1,8 +1,10 @@
-From c7bf8093820b0d740e15f166c3fceb1edb2b2a83 Mon Sep 17 00:00:00 2001
+From bd017fffea36a2cb4a6322c8d5d911397ec4e776 Mon Sep 17 00:00:00 2001
 From: Andy Green <andy at warmcat.com>
 Date: Thu, 17 May 2018 21:50:37 +0800
 Subject: [PATCH] eal: explicit cast in constant byte swap
 
+[ upstream commit c7bf8093820b0d740e15f166c3fceb1edb2b2a83 ]
+
 GCC 8.1 warns:
 
 rte_byteorder.h: In function 'rte_constant_bswap16':
@@ -22,7 +24,6 @@
 same, so get the same fix.
 
 Fixes: b75667ef9f7e ("eal: add static endianness conversion macros")
-Cc: stable at dpdk.org
 
 Signed-off-by: Andy Green <andy at warmcat.com>
 ---
@@ -30,10 +31,10 @@
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/lib/librte_eal/common/include/generic/rte_byteorder.h b/lib/librte_eal/common/include/generic/rte_byteorder.h
-index 9bed85cca..7d9a1463c 100644
+index 29e70c968..3d7ba5ecc 100644
 --- a/lib/librte_eal/common/include/generic/rte_byteorder.h
 +++ b/lib/librte_eal/common/include/generic/rte_byteorder.h
-@@ -123,7 +123,7 @@ typedef uint64_t rte_le64_t; /**< 64-bit little-endian value. */
+@@ -152,7 +152,7 @@ typedef uint64_t rte_le64_t; /**< 64-bit little-endian value. */
  static inline uint16_t
  rte_constant_bswap16(uint16_t x)
  {
@@ -42,7 +43,7 @@
  }
  
  /*
-@@ -135,7 +135,7 @@ rte_constant_bswap16(uint16_t x)
+@@ -164,7 +164,7 @@ rte_constant_bswap16(uint16_t x)
  static inline uint32_t
  rte_constant_bswap32(uint32_t x)
  {
@@ -51,7 +52,7 @@
  }
  
  /*
-@@ -147,7 +147,7 @@ rte_constant_bswap32(uint32_t x)
+@@ -176,7 +176,7 @@ rte_constant_bswap32(uint32_t x)
  static inline uint64_t
  rte_constant_bswap64(uint64_t x)
  {


More information about the stable mailing list