From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Mazarguil Subject: Re: [PATCH] net/mlx5: fix multi segment packet send Date: Tue, 27 Dec 2016 11:21:27 +0100 Message-ID: <20161227102127.GG22106@6wind.com> References: <1482766116-6202-1-git-send-email-shahafs@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, stable@dpdk.org To: Shahaf Shuler Return-path: Received: from mail-wj0-f181.google.com (mail-wj0-f181.google.com [209.85.210.181]) by dpdk.org (Postfix) with ESMTP id 2C4CF2B91 for ; Tue, 27 Dec 2016 11:21:36 +0100 (CET) Received: by mail-wj0-f181.google.com with SMTP id v7so315665268wjy.2 for ; Tue, 27 Dec 2016 02:21:36 -0800 (PST) Content-Disposition: inline In-Reply-To: <1482766116-6202-1-git-send-email-shahafs@mellanox.com> 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 Shahaf, On Mon, Dec 26, 2016 at 05:28:36PM +0200, Shahaf Shuler wrote: > Dseg pointer is not initialised when the first segment is inlined > causing a segmentation fault in such situation. > > Fixes: 2a66cf378954 ("net/mlx5: support inline send") > > CC: stable@dpdk.org > Signed-off-by: Shahaf Shuler Thanks for fixing this bug, a few comments below. > --- > drivers/net/mlx5/mlx5_rxtx.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c > index 97810e8..d6688c6 100644 > --- a/drivers/net/mlx5/mlx5_rxtx.c > +++ b/drivers/net/mlx5/mlx5_rxtx.c > @@ -483,7 +483,7 @@ > assert(addr <= addr_end); > } > /* > - * 2 DWORDs consumed by the WQE header + 1 DSEG + > + * 2 DWORDs consumed by the WQE header + ETH segment + > * the size of the inline part of the packet. > */ > ds = 2 + MLX5_WQE_DS(pkt_inline_sz - 2); > @@ -498,6 +498,10 @@ > } else if (!segs_n) { > goto next_pkt; > } else { > + /* dseg will be advance as part of next_seg*/ Nit-picking here, there is a missing space in the above comment. > + dseg = (volatile rte_v128u32_t *) rte_v128u32_t does not exist (yet) in the tree, this patch therefore depends on "eal: define generic vector types" [1]. Such dependencies should be mentioned as a notes section of a patch (after a three-dash line). Regarding stable@dpdk.org, un case the vector types patch is not applied on the stable branch, you'll also have to provide your own definition. > + ((uintptr_t)wqe + > + ((ds - 1) * MLX5_WQE_DWORD_SIZE)); > goto next_seg; > } > } else { > -- > 1.8.3.1 > Otherwise, Acked-by: Adrien Mazarguil [1] http://dpdk.org/ml/archives/dev/2016-November/050261.html -- Adrien Mazarguil 6WIND