[17.11] lib/librte_ether/rte_ethdev.c: Check device count

Message ID 20200407162523.6899-1-talal.irfan@emumba.com (mailing list archive)
State Not Applicable, archived
Delegated to: Ferruh Yigit
Headers
Series [17.11] lib/librte_ether/rte_ethdev.c: Check device count |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues

Commit Message

Talal Irfan April 7, 2020, 4:25 p.m. UTC
  Bugzilla ID: 6
Cc: dev@dpdk.org
Cc: Thomas Monjalon <thomas@monjalon.net>
Cc: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Cc: stable@dpdk.org
Reported-by: Wang Zhike <wangzhike@jd.com>
Suggested-by: Vipin Varghese <vipin.varghese@intel.com>
Signed-off-by: Talal Irfan <talal.irfan@emumba.com>
---
 lib/librte_ether/rte_ethdev.c | 6 ++++++
 1 file changed, 6 insertions(+)
  

Comments

Ferruh Yigit April 10, 2020, 10:37 a.m. UTC | #1
On 4/7/2020 5:25 PM, Talal Irfan wrote:
> Bugzilla ID: 6
> Cc: dev@dpdk.org
> Cc: Thomas Monjalon <thomas@monjalon.net>
> Cc: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> Cc: stable@dpdk.org
> Reported-by: Wang Zhike <wangzhike@jd.com>
> Suggested-by: Vipin Varghese <vipin.varghese@intel.com>
> Signed-off-by: Talal Irfan <talal.irfan@emumba.com>
> ---
>  lib/librte_ether/rte_ethdev.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> index 318af2869..ac19baf0c 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -376,6 +376,12 @@ rte_eth_dev_attach(const char *devargs, uint16_t *port_id)
>  		goto err;
>  	}
>  
> +	if (current <= 0) {
> +		RTE_LOG(ERR, EAL, "No port found for device (%s)\n", name);
> +		ret = -EINVAL;
> +		goto err;
> +	}
> +
>  	/* parse devargs, then retrieve device name and args */
>  	if (rte_eal_parse_devargs_str(devargs, &name, &args))
>  		goto err;
> 

Hi Talal,

Thanks for the fix.

v17.11 support ended, and issue seems not valid for v18.11 and later [1], can
you please confirm this?
And if you confirm can you please close the mentioned defect?

Thanks,
ferruh

[1]
'rte_eth_dev_attach()' removed before v18.11 .
  
Kevin Traynor April 10, 2020, 10:56 a.m. UTC | #2
On 10/04/2020 11:37, Ferruh Yigit wrote:
> On 4/7/2020 5:25 PM, Talal Irfan wrote:
>> Bugzilla ID: 6
>> Cc: dev@dpdk.org
>> Cc: Thomas Monjalon <thomas@monjalon.net>
>> Cc: Adrien Mazarguil <adrien.mazarguil@6wind.com>
>> Cc: stable@dpdk.org
>> Reported-by: Wang Zhike <wangzhike@jd.com>
>> Suggested-by: Vipin Varghese <vipin.varghese@intel.com>
>> Signed-off-by: Talal Irfan <talal.irfan@emumba.com>
>> ---
>>  lib/librte_ether/rte_ethdev.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
>> index 318af2869..ac19baf0c 100644
>> --- a/lib/librte_ether/rte_ethdev.c
>> +++ b/lib/librte_ether/rte_ethdev.c
>> @@ -376,6 +376,12 @@ rte_eth_dev_attach(const char *devargs, uint16_t *port_id)
>>  		goto err;
>>  	}
>>  
>> +	if (current <= 0) {
>> +		RTE_LOG(ERR, EAL, "No port found for device (%s)\n", name);
>> +		ret = -EINVAL;
>> +		goto err;
>> +	}
>> +
>>  	/* parse devargs, then retrieve device name and args */
>>  	if (rte_eal_parse_devargs_str(devargs, &name, &args))
>>  		goto err;
>>
> 
> Hi Talal,
> 
> Thanks for the fix.
> 
> v17.11 support ended, and issue seems not valid for v18.11 and later [1], can
> you please confirm this?

Thanks Talal/Ferruh. Just to add that the roadmap of which stable
releases are maintained is available here:
https://core.dpdk.org/roadmap/#stable

> And if you confirm can you please close the mentioned defect?
> 
> Thanks,
> ferruh
> 
> [1]
> 'rte_eth_dev_attach()' removed before v18.11 .
>
  

Patch

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 318af2869..ac19baf0c 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -376,6 +376,12 @@  rte_eth_dev_attach(const char *devargs, uint16_t *port_id)
 		goto err;
 	}
 
+	if (current <= 0) {
+		RTE_LOG(ERR, EAL, "No port found for device (%s)\n", name);
+		ret = -EINVAL;
+		goto err;
+	}
+
 	/* parse devargs, then retrieve device name and args */
 	if (rte_eal_parse_devargs_str(devargs, &name, &args))
 		goto err;