From patchwork Tue Sep 19 11:47:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SebastianX Basierski X-Patchwork-Id: 28948 X-Patchwork-Delegate: ferruh.yigit@amd.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 7A90F592B; Tue, 19 Sep 2017 13:51:57 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 6B768101B for ; Tue, 19 Sep 2017 13:51:55 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP; 19 Sep 2017 04:51:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,418,1500966000"; d="scan'208";a="137013405" Received: from unknown (HELO Sent) ([10.103.102.64]) by orsmga002.jf.intel.com with SMTP; 19 Sep 2017 04:51:50 -0700 Received: by Sent (sSMTP sendmail emulation); Tue, 19 Sep 2017 13:47:59 +0200 From: SebastianX Basierski To: skhare@vmware.com Cc: SebastianX Basierski , dev@dpdk.org Date: Tue, 19 Sep 2017 13:47:58 +0200 Message-Id: <1505821678-33651-1-git-send-email-sebastianx.basierski@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-dev] [PATCH] pmd_vmxnet3: Unintentional integer overflow 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" Fixed overflow by casting txq->cmd_ring.next2fill to uint64_t type. Coverity issue: 143457 Fixes: 01fef6e3c181 ("net/vmxnet3: allow variable length Tx data ring") Cc: skhare@vmware.com cc: dev@dpdk.org Signed-off-by: SebastianX Basierski Reviewed-by: Ferruh Yigit --- drivers/net/vmxnet3/vmxnet3_rxtx.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c index d9cf437..680da17 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -504,8 +504,9 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, */ gdesc = txq->cmd_ring.base + txq->cmd_ring.next2fill; if (copy_size) { - uint64 offset = txq->cmd_ring.next2fill * - txq->txdata_desc_size; + uint64 offset = + (uint64)txq->cmd_ring.next2fill * + txq->txdata_desc_size; gdesc->txd.addr = rte_cpu_to_le_64(txq->data_ring.basePA + offset);