[dpdk-dev] net/qede:fix the bug about pointer params may NULL
Checks
Commit Message
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
-----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>
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.
@@ -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;