From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3E71EA0471 for ; Mon, 15 Jul 2019 04:36:50 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1F7F937B0; Mon, 15 Jul 2019 04:36:49 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 39FAE326C for ; Mon, 15 Jul 2019 04:36:48 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Jul 2019 19:36:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,492,1557212400"; d="scan'208";a="250703373" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga001.jf.intel.com with ESMTP; 14 Jul 2019 19:36:46 -0700 Received: from fmsmsx154.amr.corp.intel.com (10.18.116.70) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 14 Jul 2019 19:36:46 -0700 Received: from shsmsx153.ccr.corp.intel.com (10.239.6.53) by FMSMSX154.amr.corp.intel.com (10.18.116.70) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 14 Jul 2019 19:36:46 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.134]) by SHSMSX153.ccr.corp.intel.com ([169.254.12.60]) with mapi id 14.03.0439.000; Mon, 15 Jul 2019 10:36:44 +0800 From: "Yang, Qiming" To: "Zhang, Xiao" , "dev@dpdk.org" CC: "Zhang, Qi Z" , "Wang, Xiao W" , "Xing, Beilei" , "Lu, Wenzhuo" Thread-Topic: [DPDK] drivers/net: fix dereference after null check coverity Thread-Index: AQHVOIWSRBqrUq1GGEmldrVt7SRCJqbK+VrQ Date: Mon, 15 Jul 2019 02:36:44 +0000 Message-ID: References: <1562949587-8308-1-git-send-email-xiao.zhang@intel.com> In-Reply-To: <1562949587-8308-1-git-send-email-xiao.zhang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [DPDK] drivers/net: fix dereference after null check coverity X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 pa= tches. commit e0474b94f8a36672d66be7408e3f7cf00e302329 is a good reference. Qiming -----Original Message----- From: Zhang, Xiao=20 Sent: Saturday, July 13, 2019 12:40 AM To: dev@dpdk.org Cc: Zhang, Qi Z ; Wang, Xiao W ; Xing, Beilei ; Lu, Wenzhuo = ; Yang, Qiming ; Ananyev, Konstantin ; Wu, Jingjing ; Zhang, Xiao 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 --- 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_r= xtx_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 =3D rxq->pkt_last_seg; unsigned pkt_idx, buf_idx; =20 + if (!start) + return 0; + for (buf_idx =3D 0, pkt_idx =3D 0; buf_idx < nb_bufs; buf_idx++) { if (end !=3D NULL) { /* processing a split packet */ diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40= e_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 =3D rxq->pkt_last_seg; unsigned pkt_idx, buf_idx; =20 + if (!start) + return 0; + for (buf_idx =3D 0, pkt_idx =3D 0; buf_idx < nb_bufs; buf_idx++) { if (end !=3D NULL) { /* processing a split packet */ diff --git a/drivers/net/iavf/iavf_rxtx_vec_common.h b/drivers/net/iavf/iav= f_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 =3D rxq->pkt_last_seg; unsigned int pkt_idx, buf_idx; =20 + if (!start) + return 0; + for (buf_idx =3D 0, pkt_idx =3D 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_rx= tx_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, struc= t rte_mbuf **rx_bufs, struct rte_mbuf *end =3D rxq->pkt_last_seg; unsigned int pkt_idx, buf_idx; =20 + if (!start) + return 0; + for (buf_idx =3D 0, pkt_idx =3D 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 =3D rxq->pkt_last_seg; unsigned int pkt_idx, buf_idx; =20 + if (!start) + return 0; + for (buf_idx =3D 0, pkt_idx =3D 0; buf_idx < nb_bufs; buf_idx++) { if (end !=3D NULL) { /* processing a split packet */ -- 2.7.4