[dpdk-dev] net/qede:fix the bug about pointer params may NULL

Message ID 1503558753-8545-1-git-send-email-xie.rongqiang@zte.com.cn (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Xie RongQiang Aug. 24, 2017, 7:12 a.m. UTC
  In function qede_rss_reta_update(),the pointer params returned from
call to function rte_zmalloc() may be NULL and will be dereferenced.
So, should judge the params is NULL or not.

Signed-off-by: Rongqiang XIE <xie.rongqiang@zte.com.cn>
---
 drivers/net/qede/qede_ethdev.c | 4 ++++
 1 file changed, 4 insertions(+)
  

Comments

Patil, Harish Aug. 25, 2017, 6:43 p.m. UTC | #1
-----Original Message-----
From: dev <dev-bounces@dpdk.org> on behalf of Rongqiang XIE

<xie.rongqiang@zte.com.cn>
Date: Thursday, August 24, 2017 at 12:12 AM
To: "Mody, Rasesh" <Rasesh.Mody@cavium.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, Rongqiang XIE <xie.rongqiang@zte.com.cn>
Subject: [dpdk-dev] [PATCH] net/qede:fix the bug about pointer params
may	NULL

>In function qede_rss_reta_update(),the pointer params returned from

>call to function rte_zmalloc() may be NULL and will be dereferenced.

>So, should judge the params is NULL or not.

>

>Signed-off-by: Rongqiang XIE <xie.rongqiang@zte.com.cn>

>---

> drivers/net/qede/qede_ethdev.c | 4 ++++

> 1 file changed, 4 insertions(+)

>

>diff --git a/drivers/net/qede/qede_ethdev.c

>b/drivers/net/qede/qede_ethdev.c

>index 0e05989..4e9e89f 100644

>--- a/drivers/net/qede/qede_ethdev.c

>+++ b/drivers/net/qede/qede_ethdev.c

>@@ -2012,6 +2012,10 @@ int qede_rss_reta_update(struct rte_eth_dev

>*eth_dev,

> 	memset(&vport_update_params, 0, sizeof(vport_update_params));

> 	params = rte_zmalloc("qede_rss", sizeof(*params) * edev->num_hwfns,

> 			     RTE_CACHE_LINE_SIZE);

>+	if (params == NULL) {

>+		DP_ERR(edev, "failed to allocate memory\n");

>+		return -ENOMEM;

>+	}

> 

> 	for (i = 0; i < reta_size; i++) {

> 		idx = i / RTE_RETA_GROUP_SIZE;

>-- 

>1.8.3.1

>

>

>Acked-by: Harish Patil <harish.patil@cavium.com>
  
Ferruh Yigit Aug. 28, 2017, 12:42 p.m. UTC | #2
On 8/25/2017 7:43 PM, Patil, Harish wrote:
<..>>

> Subject: [dpdk-dev] [PATCH] net/qede:fix the bug about pointer params
> may	NULL
> 
>> In function qede_rss_reta_update(),the pointer params returned from
>> call to function rte_zmalloc() may be NULL and will be dereferenced.
>> So, should judge the params is NULL or not.

Fixes: 8b3ee85efe11 ("net/qede: fix RSS table entries for 100G adapter")
Cc: stable@dpdk.org

>>
>> Signed-off-by: Rongqiang XIE <xie.rongqiang@zte.com.cn>

>> Acked-by: Harish Patil <harish.patil@cavium.com>

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 0e05989..4e9e89f 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -2012,6 +2012,10 @@  int qede_rss_reta_update(struct rte_eth_dev *eth_dev,
 	memset(&vport_update_params, 0, sizeof(vport_update_params));
 	params = rte_zmalloc("qede_rss", sizeof(*params) * edev->num_hwfns,
 			     RTE_CACHE_LINE_SIZE);
+	if (params == NULL) {
+		DP_ERR(edev, "failed to allocate memory\n");
+		return -ENOMEM;
+	}
 
 	for (i = 0; i < reta_size; i++) {
 		idx = i / RTE_RETA_GROUP_SIZE;