Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1860446pxj; Sat, 5 Jun 2021 05:26:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzgPSA2bV2Ku4G6EV/5CzFvXOUg9sY1hDMm7MkvE0fPo5CzOvgCrpahN6ltOhyDvii3naJj X-Received: by 2002:a50:cd58:: with SMTP id d24mr9893968edj.119.1622895986828; Sat, 05 Jun 2021 05:26:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622895986; cv=none; d=google.com; s=arc-20160816; b=hzMPPi0WrAg1qDFG2RtrrL15T/pbAngvXCmGzukEAa7PHKL0+PAwurKbea+IMsZffS KTcx5CpbQlHH91nMtF5tG4LUBVt5Mxt41owPK2aqScsaE9HqWHYSOemOj2LCOFn1Lpbr UbsSkPBz8vuKAT3huJdkyMsbQ8cGU1A4TT0r6YTXUf91bbyfK2wa5DM7PKf6vs9W3Qt6 dYTWfL/uZ1NWP6SUn+rBBveSVzW6AKc+hfh5UJ6tR6uMIGDPgM5C4ioKir/FIeKJZKg3 iRLoDKjFK84SkR/lC3pXdKjFThDcJ3c6k0eP6RNI7IqEjnbW6T2MVhxtmlOricLv9whe gPhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=X/ddxqo4OrRsPbfm4uF1WTW9Ljzx5fLlBrZp+8YHHwQ=; b=tT9gvMmmIDWdfRzVmRDgrMnbg/9No8ILdgM/2ylEnWDsjz4+A1vNkVaha7/PFgc0tt MmO+3KihZ+jvLiMV5rGGcd7bYJVzK77HpIWHFOg7qrJH6SHMOFzBLd40LB9YcLgGjQE3 yxnmAo5hdwMZoY3qLxN8Yy02ojYJB93FX67gAnxfJ51Hoh0fDjwuT7wm/KXNAnDz6qVP 3br053Y0OfD4AOElE/6ykX7r8hj4iY55FI/Q+CqH8Vd2ZRKhZbdyVJJ2ajQLiuA0iOIO yvxkWwBPDkIqp8rpQe7pRRX1lSH7eglYTY5Dd+x8QcN9WTQacHstLDtXgAXBtNA9PmjY ZjFA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e12si4557832ejl.676.2021.06.05.05.26.03; Sat, 05 Jun 2021 05:26:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230203AbhFEMWz (ORCPT + 99 others); Sat, 5 Jun 2021 08:22:55 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:47939 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229924AbhFEMWx (ORCPT ); Sat, 5 Jun 2021 08:22:53 -0400 Received: from 1.general.cking.uk.vpn ([10.172.193.212] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1lpVIS-0006jg-4y; Sat, 05 Jun 2021 12:21:00 +0000 From: Colin King To: Mustafa Ismail , Shiraz Saleem , Doug Ledford , Jason Gunthorpe , linux-rdma@vger.kernel.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH][next] RDMA/irdma: Fix issues with u8 left shift operation Date: Sat, 5 Jun 2021 13:20:59 +0100 Message-Id: <20210605122059.25105-1-colin.king@canonical.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Colin Ian King The shifting of the u8 integer info->map[i] the left will be promoted to a 32 bit signed int and then sign-extended to a u64. In the event that the top bit of the u8 is set then all then all the upper 32 bits of the u64 end up as also being set because of the sign-extension. Fix this by casting the u8 values to a u64 before the left shift. This Addresses-Coverity: ("Unitentional integer overflow / bad shift operation") Fixes: 3f49d6842569 ("RDMA/irdma: Implement HW Admin Queue OPs") Signed-off-by: Colin Ian King --- drivers/infiniband/hw/irdma/ctrl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/irdma/ctrl.c b/drivers/infiniband/hw/irdma/ctrl.c index 5aa112067bce..8bd3aecadaf6 100644 --- a/drivers/infiniband/hw/irdma/ctrl.c +++ b/drivers/infiniband/hw/irdma/ctrl.c @@ -2157,7 +2157,7 @@ static enum irdma_status_code irdma_sc_set_up_map(struct irdma_sc_cqp *cqp, return IRDMA_ERR_RING_FULL; for (i = 0; i < IRDMA_MAX_USER_PRIORITY; i++) - temp |= info->map[i] << (i * 8); + temp |= (u64)info->map[i] << (i * 8); set_64bit_val(wqe, 0, temp); set_64bit_val(wqe, 40, -- 2.31.1