patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [17.11 0/3] Fixes backported to 17.11
@ 2018-07-27 10:39 Rafal Kozik
  2018-07-27 10:39 ` [dpdk-stable] [17.11 1/3] net/ena: set link speed as none Rafal Kozik
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Rafal Kozik @ 2018-07-27 10:39 UTC (permalink / raw)
  To: stable; +Cc: mw, mk, gtzalik, evgenys, matua, igorch, yskoh, Rafal Kozik

Provide fixes backported to dpdk_stable branch 17.11.

Rafal Kozik (3):
  net/ena: set link speed as none
  net/ena: check pointer before memset
  net/ena: change memory type

 drivers/net/ena/base/ena_plat_dpdk.h | 30 +++++++++++++++++-------------
 drivers/net/ena/ena_ethdev.c         |  2 +-
 2 files changed, 18 insertions(+), 14 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-stable] [17.11 1/3] net/ena: set link speed as none
  2018-07-27 10:39 [dpdk-stable] [17.11 0/3] Fixes backported to 17.11 Rafal Kozik
@ 2018-07-27 10:39 ` Rafal Kozik
  2018-07-27 10:39 ` [dpdk-stable] [17.11 2/3] net/ena: check pointer before memset Rafal Kozik
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Rafal Kozik @ 2018-07-27 10:39 UTC (permalink / raw)
  To: stable; +Cc: mw, mk, gtzalik, evgenys, matua, igorch, yskoh, Rafal Kozik

[ backported from upstream commit 41e59028dd8ab2038a7655c6fc3098222661aa53 ]

Link speed should is not limited to 10Gb/s and it shouldn't be hardcoded.

They link speed is set to none instead and the applications shouldn't
rely on this value when using ENA PMD.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
---
 drivers/net/ena/ena_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index aa24ef3..32fcc0d 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -709,7 +709,7 @@ static int ena_link_update(struct rte_eth_dev *dev,
 	struct rte_eth_link *link = &dev->data->dev_link;
 
 	link->link_status = 1;
-	link->link_speed = ETH_SPEED_NUM_10G;
+	link->link_speed = ETH_SPEED_NUM_NONE;
 	link->link_duplex = ETH_LINK_FULL_DUPLEX;
 
 	return 0;
-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-stable] [17.11 2/3] net/ena: check pointer before memset
  2018-07-27 10:39 [dpdk-stable] [17.11 0/3] Fixes backported to 17.11 Rafal Kozik
  2018-07-27 10:39 ` [dpdk-stable] [17.11 1/3] net/ena: set link speed as none Rafal Kozik
@ 2018-07-27 10:39 ` Rafal Kozik
  2018-07-27 10:39 ` [dpdk-stable] [17.11 3/3] net/ena: change memory type Rafal Kozik
  2018-07-27 17:15 ` [dpdk-stable] [17.11 0/3] Fixes backported to 17.11 Yongseok Koh
  3 siblings, 0 replies; 5+ messages in thread
From: Rafal Kozik @ 2018-07-27 10:39 UTC (permalink / raw)
  To: stable; +Cc: mw, mk, gtzalik, evgenys, matua, igorch, yskoh, Rafal Kozik

[ backported from upstream commit 46916aa17d4b2007df8c0454f99ba0ca8b8cb93b ]

Need to check if memory allocation succeed before using it.
Using memset on NULL pointer cause segfault.

Fixes: 9ba7981ec992 ("ena: add communication layer for DPDK")

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
---
 drivers/net/ena/base/ena_plat_dpdk.h | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h
index accecf5..362741a 100644
--- a/drivers/net/ena/base/ena_plat_dpdk.h
+++ b/drivers/net/ena/base/ena_plat_dpdk.h
@@ -189,10 +189,15 @@ typedef uint64_t dma_addr_t;
 		snprintf(z_name, sizeof(z_name),			\
 				"ena_alloc_%d", ena_alloc_cnt++);	\
 		mz = rte_memzone_reserve(z_name, size, SOCKET_ID_ANY, 0); \
-		memset(mz->addr, 0, size);				\
-		virt = mz->addr;					\
-		phys = mz->iova;					\
 		handle = mz;						\
+		if (mz == NULL) {					\
+			virt = NULL;					\
+			phys = 0;					\
+		} else {						\
+			memset(mz->addr, 0, size);			\
+			virt = mz->addr;				\
+			phys = mz->iova;				\
+		}							\
 	} while (0)
 #define ENA_MEM_FREE_COHERENT(dmadev, size, virt, phys, handle) 	\
 		({ ENA_TOUCH(size); ENA_TOUCH(phys);			\
@@ -207,9 +212,14 @@ typedef uint64_t dma_addr_t;
 		snprintf(z_name, sizeof(z_name),			\
 				"ena_alloc_%d", ena_alloc_cnt++);	\
 		mz = rte_memzone_reserve(z_name, size, node, 0); \
-		memset(mz->addr, 0, size);				\
-		virt = mz->addr;					\
-		phys = mz->iova;					\
+		if (mz == NULL) {					\
+			virt = NULL;					\
+			phys = 0;					\
+		} else {						\
+			memset(mz->addr, 0, size);			\
+			virt = mz->addr;				\
+			phys = mz->iova;				\
+		}							\
 	} while (0)
 
 #define ENA_MEM_ALLOC_NODE(dmadev, size, virt, node, dev_node) \
-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-stable] [17.11 3/3] net/ena: change memory type
  2018-07-27 10:39 [dpdk-stable] [17.11 0/3] Fixes backported to 17.11 Rafal Kozik
  2018-07-27 10:39 ` [dpdk-stable] [17.11 1/3] net/ena: set link speed as none Rafal Kozik
  2018-07-27 10:39 ` [dpdk-stable] [17.11 2/3] net/ena: check pointer before memset Rafal Kozik
@ 2018-07-27 10:39 ` Rafal Kozik
  2018-07-27 17:15 ` [dpdk-stable] [17.11 0/3] Fixes backported to 17.11 Yongseok Koh
  3 siblings, 0 replies; 5+ messages in thread
From: Rafal Kozik @ 2018-07-27 10:39 UTC (permalink / raw)
  To: stable; +Cc: mw, mk, gtzalik, evgenys, matua, igorch, yskoh, Rafal Kozik

[ backported from upstream commit 9f32c7e7e6ce58ab772913f54f8328c1c0186a17 ]

ENA_MEM_ALLOC_NODE not need to use contiguous physical memory.
Also using memset without checking if allocation succeed can cause
segmentation fault.

To avoid both issue use rte_zmalloc_socket.

Fixes: 3d3edc265fc8 ("net/ena: make coherent memory allocation NUMA-aware")

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
---
 drivers/net/ena/base/ena_plat_dpdk.h | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h
index 362741a..8363fb4 100644
--- a/drivers/net/ena/base/ena_plat_dpdk.h
+++ b/drivers/net/ena/base/ena_plat_dpdk.h
@@ -224,14 +224,8 @@ typedef uint64_t dma_addr_t;
 
 #define ENA_MEM_ALLOC_NODE(dmadev, size, virt, node, dev_node) \
 	do {								\
-		const struct rte_memzone *mz;				\
-		char z_name[RTE_MEMZONE_NAMESIZE];			\
 		ENA_TOUCH(dmadev); ENA_TOUCH(dev_node);			\
-		snprintf(z_name, sizeof(z_name),			\
-				"ena_alloc_%d", ena_alloc_cnt++);	\
-		mz = rte_memzone_reserve(z_name, size, node, 0); \
-		memset(mz->addr, 0, size);				\
-		virt = mz->addr;					\
+		virt = rte_zmalloc_socket(NULL, size, 0, node);		\
 	} while (0)
 
 #define ENA_MEM_ALLOC(dmadev, size) rte_zmalloc(NULL, size, 1)
-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-stable] [17.11 0/3] Fixes backported to 17.11
  2018-07-27 10:39 [dpdk-stable] [17.11 0/3] Fixes backported to 17.11 Rafal Kozik
                   ` (2 preceding siblings ...)
  2018-07-27 10:39 ` [dpdk-stable] [17.11 3/3] net/ena: change memory type Rafal Kozik
@ 2018-07-27 17:15 ` Yongseok Koh
  3 siblings, 0 replies; 5+ messages in thread
From: Yongseok Koh @ 2018-07-27 17:15 UTC (permalink / raw)
  To: Rafal Kozik; +Cc: dpdk stable, mw, mk, gtzalik, evgenys, matua, igorch


> On Jul 27, 2018, at 3:39 AM, Rafal Kozik <rk@semihalf.com> wrote:
> 
> Provide fixes backported to dpdk_stable branch 17.11.
> 
> Rafal Kozik (3):
>  net/ena: set link speed as none
>  net/ena: check pointer before memset
>  net/ena: change memory type
> 
> drivers/net/ena/base/ena_plat_dpdk.h | 30 +++++++++++++++++-------------
> drivers/net/ena/ena_ethdev.c         |  2 +-
> 2 files changed, 18 insertions(+), 14 deletions(-)
> 
> -- 

Thank you!
All the three patches have been queued for 17.11.4 successfully.

Yongseok

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-07-27 17:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-27 10:39 [dpdk-stable] [17.11 0/3] Fixes backported to 17.11 Rafal Kozik
2018-07-27 10:39 ` [dpdk-stable] [17.11 1/3] net/ena: set link speed as none Rafal Kozik
2018-07-27 10:39 ` [dpdk-stable] [17.11 2/3] net/ena: check pointer before memset Rafal Kozik
2018-07-27 10:39 ` [dpdk-stable] [17.11 3/3] net/ena: change memory type Rafal Kozik
2018-07-27 17:15 ` [dpdk-stable] [17.11 0/3] Fixes backported to 17.11 Yongseok Koh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).