Hi Qiming,
I will update the commit log.

Thanks,
Xiao
> -----Original Message-----
> From: Yang, Qiming
> Sent: Monday, July 15, 2019 10:37 AM
> To: Zhang, Xiao <xiao.zh...@intel.com>; 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>
> Subject: RE: [DPDK] drivers/net: fix dereference after null check coverity
> 
> 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