Hi, Xiao
Please explain what's the issue you fixed in the commit log.
 And for the fix patch, fix line is needed, please refer to other merged 
patches.
commit e0474b94f8a36672d66be7408e3f7cf00e302329 is a good reference.

Qiming
-----Original Message-----
From: Zhang, Xiao 
Sent: Saturday, July 13, 2019 12:40 AM
To: dev@dpdk.org
Cc: Zhang, Qi Z <qi.z.zh...@intel.com>; Wang, Xiao W <xiao.w.w...@intel.com>; 
Xing, Beilei <beilei.x...@intel.com>; Lu, Wenzhuo <wenzhuo...@intel.com>; Yang, 
Qiming <qiming.y...@intel.com>; Ananyev, Konstantin 
<konstantin.anan...@intel.com>; Wu, Jingjing <jingjing...@intel.com>; Zhang, 
Xiao <xiao.zh...@intel.com>
Subject: [DPDK] drivers/net: fix dereference after null check coverity

This patch tries to fix the coverity issues of dereference after null check.

Coverity issue: 343452
Coverity issue: 343447
Coverity issue: 343422
Coverity issue: 343416
Coverity issue: 343407
Coverity issue: 343403
Coverity issue: 13245

Signed-off-by: Xiao Zhang <xiao.zh...@intel.com>
---
 drivers/net/fm10k/fm10k_rxtx_vec.c        | 3 +++
 drivers/net/i40e/i40e_rxtx_vec_common.h   | 3 +++
 drivers/net/iavf/iavf_rxtx_vec_common.h   | 3 +++
 drivers/net/ice/ice_rxtx_vec_common.h     | 3 +++
 drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 3 +++
 5 files changed, 15 insertions(+)

diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c 
b/drivers/net/fm10k/fm10k_rxtx_vec.c
index 788e248..cb840de 100644
--- a/drivers/net/fm10k/fm10k_rxtx_vec.c
+++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
@@ -602,6 +602,9 @@ fm10k_reassemble_packets(struct fm10k_rx_queue *rxq,
        struct rte_mbuf *end =  rxq->pkt_last_seg;
        unsigned pkt_idx, buf_idx;
 
+       if (!start)
+               return 0;
+
        for (buf_idx = 0, pkt_idx = 0; buf_idx < nb_bufs; buf_idx++) {
                if (end != NULL) {
                        /* processing a split packet */
diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h 
b/drivers/net/i40e/i40e_rxtx_vec_common.h
index 0e6ffa0..1351e41 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_common.h
+++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
@@ -20,6 +20,9 @@ reassemble_packets(struct i40e_rx_queue *rxq, struct rte_mbuf 
**rx_bufs,
        struct rte_mbuf *end =  rxq->pkt_last_seg;
        unsigned pkt_idx, buf_idx;
 
+       if (!start)
+               return 0;
+
        for (buf_idx = 0, pkt_idx = 0; buf_idx < nb_bufs; buf_idx++) {
                if (end != NULL) {
                        /* processing a split packet */
diff --git a/drivers/net/iavf/iavf_rxtx_vec_common.h 
b/drivers/net/iavf/iavf_rxtx_vec_common.h
index db509d7..ac3d62a 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_common.h
+++ b/drivers/net/iavf/iavf_rxtx_vec_common.h
@@ -20,6 +20,9 @@ reassemble_packets(struct iavf_rx_queue *rxq, struct rte_mbuf 
**rx_bufs,
        struct rte_mbuf *end =  rxq->pkt_last_seg;
        unsigned int pkt_idx, buf_idx;
 
+       if (!start)
+               return 0;
+
        for (buf_idx = 0, pkt_idx = 0; buf_idx < nb_bufs; buf_idx++) {
                if (end) {
                        /* processing a split packet */
diff --git a/drivers/net/ice/ice_rxtx_vec_common.h 
b/drivers/net/ice/ice_rxtx_vec_common.h
index c5f0d56..11da521 100644
--- a/drivers/net/ice/ice_rxtx_vec_common.h
+++ b/drivers/net/ice/ice_rxtx_vec_common.h
@@ -16,6 +16,9 @@ ice_rx_reassemble_packets(struct ice_rx_queue *rxq, struct 
rte_mbuf **rx_bufs,
        struct rte_mbuf *end =  rxq->pkt_last_seg;
        unsigned int pkt_idx, buf_idx;
 
+       if (!start)
+               return 0;
+
        for (buf_idx = 0, pkt_idx = 0; buf_idx < nb_bufs; buf_idx++) {
                if (end) {
                        /* processing a split packet */
diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h 
b/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h
index a97c271..a95cc0a 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h
+++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h
@@ -19,6 +19,9 @@ reassemble_packets(struct ixgbe_rx_queue *rxq, struct 
rte_mbuf **rx_bufs,
        struct rte_mbuf *end =  rxq->pkt_last_seg;
        unsigned int pkt_idx, buf_idx;
 
+       if (!start)
+               return 0;
+
        for (buf_idx = 0, pkt_idx = 0; buf_idx < nb_bufs; buf_idx++) {
                if (end != NULL) {
                        /* processing a split packet */
--
2.7.4

Reply via email to