net/ipn3ke: check input arguement before other operation
Checks
Commit Message
check input arguement rte_eth_dev *ethdev, ensuring ethdev
is not NULl before operation on ethdev.
Coverity issue: 337922
Fixes: 70d6b7f550f4 ("net/ipn3ke: add representor")
Cc: rosen.xu@intel.com
Cc: stable@dpdk.org
Signed-off-by: Andy Pei <andy.pei@intel.com>
---
drivers/net/ipn3ke/ipn3ke_representor.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
Comments
Hi,
> -----Original Message-----
> From: Pei, Andy
> Sent: Wednesday, May 22, 2019 15:22
> To: dev@dpdk.org
> Cc: Pei, Andy <andy.pei@intel.com>; Xu, Rosen <rosen.xu@intel.com>;
> stable@dpdk.org
> Subject: [PATCH] net/ipn3ke: check input arguement before other operation
>
> check input arguement rte_eth_dev *ethdev, ensuring ethdev is not NULl
> before operation on ethdev.
>
> Coverity issue: 337922
> Fixes: 70d6b7f550f4 ("net/ipn3ke: add representor")
> Cc: rosen.xu@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Andy Pei <andy.pei@intel.com>
> ---
> drivers/net/ipn3ke/ipn3ke_representor.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ipn3ke/ipn3ke_representor.c
> b/drivers/net/ipn3ke/ipn3ke_representor.c
> index cf3b214..32d4fc8 100644
> --- a/drivers/net/ipn3ke/ipn3ke_representor.c
> +++ b/drivers/net/ipn3ke/ipn3ke_representor.c
> @@ -735,13 +735,16 @@
> enum rte_filter_type filter_type, enum rte_filter_op filter_op,
> void *arg)
> {
> - struct ipn3ke_hw *hw = IPN3KE_DEV_PRIVATE_TO_HW(ethdev);
> - struct ipn3ke_rpst *rpst = IPN3KE_DEV_PRIVATE_TO_RPST(ethdev);
> int ret = 0;
> + struct ipn3ke_hw *hw = NULL;
> + struct ipn3ke_rpst *rpst = NULL;
No need to initialize point variable.
> if (ethdev == NULL)
> return -EINVAL;
>
> + hw = IPN3KE_DEV_PRIVATE_TO_HW(ethdev);
> + rpst = IPN3KE_DEV_PRIVATE_TO_RPST(ethdev);
> +
> if (hw->acc_flow)
> switch (filter_type) {
> case RTE_ETH_FILTER_GENERIC:
> --
> 1.8.3.1
Hi, Rosen,
It will be fixed in v2.
-----Original Message-----
From: Xu, Rosen
Sent: Thursday, May 23, 2019 10:31 AM
To: Pei, Andy <andy.pei@intel.com>; dev@dpdk.org
Cc: stable@dpdk.org
Subject: RE: [PATCH] net/ipn3ke: check input arguement before other operation
Hi,
> -----Original Message-----
> From: Pei, Andy
> Sent: Wednesday, May 22, 2019 15:22
> To: dev@dpdk.org
> Cc: Pei, Andy <andy.pei@intel.com>; Xu, Rosen <rosen.xu@intel.com>;
> stable@dpdk.org
> Subject: [PATCH] net/ipn3ke: check input arguement before other
> operation
>
> check input arguement rte_eth_dev *ethdev, ensuring ethdev is not NULl
> before operation on ethdev.
>
> Coverity issue: 337922
> Fixes: 70d6b7f550f4 ("net/ipn3ke: add representor")
> Cc: rosen.xu@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Andy Pei <andy.pei@intel.com>
> ---
> drivers/net/ipn3ke/ipn3ke_representor.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ipn3ke/ipn3ke_representor.c
> b/drivers/net/ipn3ke/ipn3ke_representor.c
> index cf3b214..32d4fc8 100644
> --- a/drivers/net/ipn3ke/ipn3ke_representor.c
> +++ b/drivers/net/ipn3ke/ipn3ke_representor.c
> @@ -735,13 +735,16 @@
> enum rte_filter_type filter_type, enum rte_filter_op filter_op,
> void *arg)
> {
> - struct ipn3ke_hw *hw = IPN3KE_DEV_PRIVATE_TO_HW(ethdev);
> - struct ipn3ke_rpst *rpst = IPN3KE_DEV_PRIVATE_TO_RPST(ethdev);
> int ret = 0;
> + struct ipn3ke_hw *hw = NULL;
> + struct ipn3ke_rpst *rpst = NULL;
No need to initialize point variable.
> if (ethdev == NULL)
> return -EINVAL;
>
> + hw = IPN3KE_DEV_PRIVATE_TO_HW(ethdev);
> + rpst = IPN3KE_DEV_PRIVATE_TO_RPST(ethdev);
> +
> if (hw->acc_flow)
> switch (filter_type) {
> case RTE_ETH_FILTER_GENERIC:
> --
> 1.8.3.1
@@ -735,13 +735,16 @@
enum rte_filter_type filter_type, enum rte_filter_op filter_op,
void *arg)
{
- struct ipn3ke_hw *hw = IPN3KE_DEV_PRIVATE_TO_HW(ethdev);
- struct ipn3ke_rpst *rpst = IPN3KE_DEV_PRIVATE_TO_RPST(ethdev);
int ret = 0;
+ struct ipn3ke_hw *hw = NULL;
+ struct ipn3ke_rpst *rpst = NULL;
if (ethdev == NULL)
return -EINVAL;
+ hw = IPN3KE_DEV_PRIVATE_TO_HW(ethdev);
+ rpst = IPN3KE_DEV_PRIVATE_TO_RPST(ethdev);
+
if (hw->acc_flow)
switch (filter_type) {
case RTE_ETH_FILTER_GENERIC: