From patchwork Wed Jul 3 02:53:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiao Wang X-Patchwork-Id: 55921 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 36BFECFA6; Wed, 3 Jul 2019 05:11:17 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 40C462BC8; Wed, 3 Jul 2019 05:11:15 +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 fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Jul 2019 20:11:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,445,1557212400"; d="scan'208";a="247485141" Received: from npg-dpdk-xiao-1.sh.intel.com ([10.67.111.145]) by orsmga001.jf.intel.com with ESMTP; 02 Jul 2019 20:11:12 -0700 From: Xiao Wang To: qi.z.zhang@intel.com Cc: dev@dpdk.org, marek.kiejdo@intel.com, Xiao Wang , stable@dpdk.org Date: Wed, 3 Jul 2019 10:53:32 +0800 Message-Id: <20190703025332.99183-1-xiao.w.wang@intel.com> X-Mailer: git-send-email 2.15.1 Subject: [dpdk-dev] [PATCH] net/fm10k: fix descriptor filling in vector Tx 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" The shift left operation "pkt->vlan_tci << 16" gets vlan_tci extended to signed type and may cause invalid descriptor. Also the same issue for the "data_len" field. This patch fixes it by casting them to uint64_t. Fixes: 21f13c541eb0 ("fm10k: add vector Tx") Cc: stable@dpdk.org Signed-off-by: Xiao Wang Acked-by: Qi Zhang --- drivers/net/fm10k/fm10k_rxtx_vec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c index 96b46a2bd..788e2484a 100644 --- a/drivers/net/fm10k/fm10k_rxtx_vec.c +++ b/drivers/net/fm10k/fm10k_rxtx_vec.c @@ -711,7 +711,7 @@ vtx1(volatile struct fm10k_tx_desc *txdp, struct rte_mbuf *pkt, uint64_t flags) { __m128i descriptor = _mm_set_epi64x(flags << 56 | - pkt->vlan_tci << 16 | pkt->data_len, + (uint64_t)pkt->vlan_tci << 16 | (uint64_t)pkt->data_len, MBUF_DMA_ADDR(pkt)); _mm_store_si128((__m128i *)txdp, descriptor); }