Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp486688pxv; Wed, 14 Jul 2021 08:27:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxDYnyR+EUMt+lo12mp+23UOKNUWTU8AIFPa/cNe5VFSlZ1p+/cSdpZR5nIXXMcmeM7XsZD X-Received: by 2002:aa7:c550:: with SMTP id s16mr14247873edr.130.1626276454590; Wed, 14 Jul 2021 08:27:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626276454; cv=none; d=google.com; s=arc-20160816; b=IGt6swZNLgCOIqsamaxhGm4L1LQc7Zpk9nY6OmEdp6IrwSuDG1+hT+i+NZf8zg8N9b GVlpSoAex8vep0I48oQQLArvdRID8VWCQ0aSCwL8JIUsc7heR4w/sSuu6j3GSlg4d/RU XY728cgh3pPEo6IiYqHJuHoySXDKNt6HgzMzK/9rtml693WWHu7s5jrBK0DwUtFuooyd LYxzJzp/y9Y1TSwBg4eX8R1TCJOFHG42+cJ1u1jvu+TD2B3IHEOJioq9qmquHKucj+Wi eAdnRKjdIwAptz/gbbU9VcMsT8KspnhSeAEA6G8/UdeQ92jTH/kWdlcD2e6CoQ1Ttx8i oBKQ== 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:dkim-signature; bh=72qzdMBzZ6eMaJYmHwsc2NemfPaJZzLq1bqMqHhsBIw=; b=k/ZlMjYAdQQ5z4wfugMDXyvqItrHzedAcIn5AQmN3toOtONvRNwozszPTPLRn3uwHI 2di8HJN2xdUOG3EiP5rNa7+O7c4PUMVGiD2MlN3ReVOgqCzMhJ6JM+Ud66Dsdjc8tOQo 13bm3SHrxo6hNQv9WlzO7PQObvjG57NI0YaJK9YHSaxuRs5mMJQzzzci08NhaTXXE9n6 3lk1914FzEnphFfd54v47sferkSbL/t9HDonkvZW6zvMQsoGApr96bDI04lbRANsDMNm 3a8JyYPwiSNv9lTOynzkj7o6DBSKx4HzEXvWBvKCfo+iW7NbbIBpjjP/Ak2SRuj+vITN HRWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=WWmfTHO5; 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=pass (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 d18si3002903ejc.683.2021.07.14.08.27.11; Wed, 14 Jul 2021 08:27:34 -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; dkim=pass header.i=@canonical.com header.s=20210705 header.b=WWmfTHO5; 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=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239589AbhGNP0i (ORCPT + 99 others); Wed, 14 Jul 2021 11:26:38 -0400 Received: from smtp-relay-canonical-0.canonical.com ([185.125.188.120]:46606 "EHLO smtp-relay-canonical-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232406AbhGNP0h (ORCPT ); Wed, 14 Jul 2021 11:26:37 -0400 Received: from localhost (1.general.cking.uk.vpn [10.172.193.212]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-0.canonical.com (Postfix) with ESMTPSA id 520EF40654; Wed, 14 Jul 2021 15:23:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1626276224; bh=72qzdMBzZ6eMaJYmHwsc2NemfPaJZzLq1bqMqHhsBIw=; h=From:To:Subject:Date:Message-Id:MIME-Version:Content-Type; b=WWmfTHO5fy04N8BwwyXNkxa3Smryn6bqCj51yBOHmfSgzFe6vrUTe92XuZVxZNW+S dO3NKGqyEXbu3KqQzscpvV0Y1/cKBzMey+dL57Nv2SDl+aXFHeFKoRr0kKHeQqJIvr K8qM2qbXPjCzFa5xSHCMtYHJuVlCjDxag+jEDO0aAscNjHxo4Bzas1ISvO9PVu/eyT q8wwHYgCyq1ugckANJkgGr/3ZH6MIZWPSEG8Ukbvrazw04ggjtxsIpadgcfQBHqoVB mGrwiHWHiWW7mbyOYHf+KZ8cLaLHkywgoZesaXjEOS1kUkIQOZbISR4ZXAy5HRbn/N ARDc91Np5E9ag== From: Colin King To: Derek Chickles , Satanand Burla , Felix Manlunas , "David S . Miller" , Jakub Kicinski , Raghu Vatsavayi , netdev@vger.kernel.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] liquidio: Fix unintentional sign extension issue on left shift of u16 Date: Wed, 14 Jul 2021 16:23:43 +0100 Message-Id: <20210714152343.144795-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 Shifting the u16 integer oct->pcie_port by CN23XX_PKT_INPUT_CTL_MAC_NUM_POS (29) bits will be promoted to a 32 bit signed int and then sign-extended to a u64. In the cases where oct->pcie_port where bit 2 is set (e.g. 3..7) the shifted value will be sign extended and the top 32 bits of the result will be set. Fix this by casting the u16 values to a u64 before the 29 bit left shift. Addresses-Coverity: ("Unintended sign extension") Fixes: 3451b97cce2d ("liquidio: CN23XX register setup") Signed-off-by: Colin Ian King --- drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c b/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c index 4cddd628d41b..9ed3d1ab2ca5 100644 --- a/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c +++ b/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c @@ -420,7 +420,7 @@ static int cn23xx_pf_setup_global_input_regs(struct octeon_device *oct) * bits 32:47 indicate the PVF num. */ for (q_no = 0; q_no < ern; q_no++) { - reg_val = oct->pcie_port << CN23XX_PKT_INPUT_CTL_MAC_NUM_POS; + reg_val = (u64)oct->pcie_port << CN23XX_PKT_INPUT_CTL_MAC_NUM_POS; /* for VF assigned queues. */ if (q_no < oct->sriov_info.pf_srn) { -- 2.31.1