[v2] net/ice: fix potential null pointer dereferences

Message ID 20190805091511.64965-1-xiaolong.ye@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series [v2] net/ice: fix potential null pointer dereferences |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-Compile-Testing success Compile Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Xiaolong Ye Aug. 5, 2019, 9:15 a.m. UTC
  This patch fixes two null pointer dereferences in flow code detected by
coverity scan.

Coverity issue: 345815, 345816
Fixes: 94f00800d78b ("net/ice: fix VXLAN/NVGRE flow matching")
Cc: ying.a.wang@intel.com

Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
v2 change:

- add coverity ids

 drivers/net/ice/ice_generic_flow.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Qi Zhang Aug. 6, 2019, 11:13 a.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Xiaolong Ye
> Sent: Monday, August 5, 2019 5:15 PM
> To: Yang, Qiming <qiming.yang@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>
> Cc: dev@dpdk.org; Ye, Xiaolong <xiaolong.ye@intel.com>; Wang, Ying A
> <ying.a.wang@intel.com>
> Subject: [dpdk-dev] [PATCH v2] net/ice: fix potential null pointer dereferences
> 
> This patch fixes two null pointer dereferences in flow code detected by coverity
> scan.
> 
> Coverity issue: 345815, 345816
> Fixes: 94f00800d78b ("net/ice: fix VXLAN/NVGRE flow matching")
> Cc: ying.a.wang@intel.com
> 
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
  

Patch

diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c
index 5fcf4289c..1c0adc779 100644
--- a/drivers/net/ice/ice_generic_flow.c
+++ b/drivers/net/ice/ice_generic_flow.c
@@ -464,7 +464,7 @@  static uint64_t ice_get_flow_field(const struct rte_flow_item pattern[],
 					   "Invalid VXLAN item");
 				return 0;
 			}
-			if (vxlan_mask->vni[0] == UINT8_MAX &&
+			if (vxlan_mask && vxlan_mask->vni[0] == UINT8_MAX &&
 					vxlan_mask->vni[1] == UINT8_MAX &&
 					vxlan_mask->vni[2] == UINT8_MAX)
 				input_set |= ICE_INSET_TUN_ID;
@@ -486,7 +486,7 @@  static uint64_t ice_get_flow_field(const struct rte_flow_item pattern[],
 					   "Invalid NVGRE item");
 				return 0;
 			}
-			if (nvgre_mask->tni[0] == UINT8_MAX &&
+			if (nvgre_mask && nvgre_mask->tni[0] == UINT8_MAX &&
 					nvgre_mask->tni[1] == UINT8_MAX &&
 					nvgre_mask->tni[2] == UINT8_MAX)
 				input_set |= ICE_INSET_TUN_ID;