From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by dpdk.org (Postfix) with ESMTP id 09FD3D00F for ; Wed, 16 May 2018 18:21:09 +0200 (CEST) Received: by mail-wm0-f65.google.com with SMTP id a8-v6so2869739wmg.5 for ; Wed, 16 May 2018 09:21:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:mime-version:content-disposition; bh=SnoyWGb1DnWVyl/1UgAbe3IeuUx2duucH22BVmOLCG4=; b=nm9e50gp7w7x6cUFJT3ClbVd6CsiV6+cLopRhmTm2jcdG8NmWZZ2FFciOwddo6uggc X0TWOwjyof69l7L28ILZ9MwYOX2sw6QjLoCJwlrfc7N8oRVKUXaRRZpeH8FgfA/3ql8n BUdMoHxKFlSeglOOlu4fbf1BS05AMEfM3yZR/wHZD8UlxOdhrWYmCy58vTS/xb3BagZG XygKoYsg5Q1Jj54liS37OhsFSKzha8r6gkPSXmja/DzxJi3O5gYJ0MfXIPMfJKuHxVLb IDyoWEv7mo3L1GK7fN9QWVRBttDvnryjsX37WPoi/84fpVhY+6fopi7hfXRMprkfiuEu 0sUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition; bh=SnoyWGb1DnWVyl/1UgAbe3IeuUx2duucH22BVmOLCG4=; b=PwyE7G/Zu8VWQcD9UZXqvnfYJ/dUSM9AgQRorg23C2xKbi2+3X2AlmCJYFw04kt75u 5PfoQPpjDDkFlssweJXYfbzGNKT2fylRUSp0qJyIICYO8gF1CEZh13TCc4Cf7IvKhsMH /zikoAZwsZ0yhjEJl4gEKeh4bjjneah58A74ZNTX1ZVv6RcuZS9dVcl+nNokM2cOwlsM QtjqyXDmMT003OSLtJH/JbIVpTXG2zWdfDJIYw6OOkKKfSSrsOI+FdpmSnfmeEJ7HokZ 9fSazze+N1/ZW8Ytkq8AWMAj30oxg0OxTr7kwKkCtCJTVSmDpNv4dDFJmiN/Afmw24nB 1RkA== X-Gm-Message-State: ALKqPwdcWuhJ/cLK5hLTNyASwssjn3yGFz4rB9Nc7ixXd3UTEa6Dpe5U UA8OD6M+xjxAFVLsyOf9xOeX+Q== X-Google-Smtp-Source: AB8JxZp4G7DOxjYEbOyAt3nu0jsVzTBDQ4Y4WPbGU8UWBtUU/N8jcpKO+ntTk3TuVljxg7Ex1MoIVw== X-Received: by 2002:a1c:11c3:: with SMTP id 186-v6mr1163745wmr.139.1526487669656; Wed, 16 May 2018 09:21:09 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id 38-v6sm5545095wry.61.2018.05.16.09.21.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 May 2018 09:21:08 -0700 (PDT) Date: Wed, 16 May 2018 18:20:54 +0200 From: Adrien Mazarguil To: Shahaf Shuler Cc: Ferruh Yigit , dev@dpdk.org, stable@dpdk.org, Matan Azrad Message-ID: <20180516161212.17602-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH] net/mlx4: fix shifts of signed values 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: , X-List-Received-Date: Wed, 16 May 2018 16:21:10 -0000 This patch addresses the following issues reported by cppcheck: [drivers/net/mlx4/mlx4_rxtx.c:266]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour [drivers/net/mlx4/mlx4_rxtx.c:624]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour [drivers/net/mlx4/mlx4_txq.c:89]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour [drivers/net/mlx4/mlx4_txq.c:91]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour Fixes: 78e81a9844f8 ("net/mlx4: merge Tx queue rings management") Cc: stable@dpdk.org Cc: Matan Azrad Reported-by: Ferruh Yigit Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4_rxtx.c | 4 ++-- drivers/net/mlx4/mlx4_txq.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/mlx4/mlx4_rxtx.c b/drivers/net/mlx4/mlx4_rxtx.c index 44efeb447..a92da66bd 100644 --- a/drivers/net/mlx4/mlx4_rxtx.c +++ b/drivers/net/mlx4/mlx4_rxtx.c @@ -263,7 +263,7 @@ mlx4_txq_stamp_freed_wqe(struct mlx4_sq *sq, volatile uint32_t *start, } while (start != (volatile uint32_t *)sq->eob); start = (volatile uint32_t *)sq->buf; /* Flip invalid stamping ownership. */ - stamp ^= RTE_BE32(0x1 << MLX4_SQ_OWNER_BIT); + stamp ^= RTE_BE32(1u << MLX4_SQ_OWNER_BIT); sq->stamp = stamp; if (start == end) return size; @@ -621,7 +621,7 @@ mlx4_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n) ctrl_next = (volatile struct mlx4_wqe_ctrl_seg *) ((volatile uint8_t *)ctrl_next - sq->size); /* Flip HW valid ownership. */ - sq->owner_opcode ^= 0x1 << MLX4_SQ_OWNER_BIT; + sq->owner_opcode ^= 1u << MLX4_SQ_OWNER_BIT; } /* * For raw Ethernet, the SOLICIT flag is used to indicate diff --git a/drivers/net/mlx4/mlx4_txq.c b/drivers/net/mlx4/mlx4_txq.c index a358732cc..6edaadbb6 100644 --- a/drivers/net/mlx4/mlx4_txq.c +++ b/drivers/net/mlx4/mlx4_txq.c @@ -86,9 +86,9 @@ mlx4_txq_fill_dv_obj_info(struct txq *txq, struct mlx4dv_obj *mlxdv) uint32_t headroom_size = 2048 + (1 << dqp->sq.wqe_shift); /* Continuous headroom size bytes must always stay freed. */ sq->remain_size = sq->size - headroom_size; - sq->owner_opcode = MLX4_OPCODE_SEND | (0 << MLX4_SQ_OWNER_BIT); + sq->owner_opcode = MLX4_OPCODE_SEND | (0u << MLX4_SQ_OWNER_BIT); sq->stamp = rte_cpu_to_be_32(MLX4_SQ_STAMP_VAL | - (0 << MLX4_SQ_OWNER_BIT)); + (0u << MLX4_SQ_OWNER_BIT)); sq->db = dqp->sdb; sq->doorbell_qpn = dqp->doorbell_qpn; cq->buf = dcq->buf.buf; -- 2.11.0