Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp1737469imm; Sun, 27 May 2018 14:54:42 -0700 (PDT) X-Google-Smtp-Source: AB8JxZppX9/vz7iakACFy+knMyOMb55EV5UQlZ1L0nuUqsBaxKKqPz/3zwWBGJC3Dy1n+BYTq8c5 X-Received: by 2002:a63:9c3:: with SMTP id 186-v6mr8747565pgj.357.1527458082922; Sun, 27 May 2018 14:54:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527458082; cv=none; d=google.com; s=arc-20160816; b=FzIv8ml9D1l43y96LtnUAcK9LP2BoXC+MR18sfS7EN7x6XuJ2UuthHu2l2I4Ty263+ H8LpuYmV76zSHhYsibCFGqIWQauYy4lWOs4Swq3hwoeO+ONerdCx2qe4tV801WjqcA3G xFRovs82FkdhCVNId6RPorgP6U0VofBqa5oOGu0lhDVbEGYaOuS+CQxOG1g5IvUWqGS2 PLpICm7i3cjK/j8UFNGMAKATYRtnAa+ZA0m9B8UB5Un6WWC0jqg0BNrGJPjjTdYoHwIb tXte3WQw/VmsliyBY0A16WB7C2GmFeCjRa92NDuWUuG7DJqnRfxtRE8UHrRBoP64WDdJ hkAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:arc-authentication-results; bh=FpYroCoNqhAMk3LPZC/TQa4JE6/MDABKpIjRpvgj+mU=; b=Iydn8HAzO3jjAFM7jtWdAbXr+6Y/AejP1+F7Y1QyCKtxXP8Z8Zvs5PNQGXUXa1Sscd 9wyPQlAz+v56shpbv/GYwzzaEN7YHxKrNNCKztf/kJ22n1L/8va/678ZW4dwLjKMatev fp7Vur1HNFGUfGCaqZChjWATjBTq5eSmUCgHa64Oyd8Z+zsja+2D2f1WFW7U1n6R26n/ QTdecC8IQehn1/HnynwA5AxJjwhcUPPBT5ZVF5GkCv9Vbo1WDkKeUVKKTsIM6YcxwiPr 57zBjuzWXL+mvO8PBIaOHU/Ueq9/rlb0Kq0dUpzK3glzV2ll6v2byeeWu1e/0HdhCxyg EISA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id e1-v6si29196641ple.195.2018.05.27.14.54.26; Sun, 27 May 2018 14:54:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1751821AbeE0VyR (ORCPT + 99 others); Sun, 27 May 2018 17:54:17 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:42204 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751532AbeE0VyP (ORCPT ); Sun, 27 May 2018 17:54:15 -0400 Received: from 1.general.cking.uk.vpn ([10.172.193.212] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1fN3cC-0004GS-9s; Sun, 27 May 2018 21:54:12 +0000 From: Colin King To: Ben Skeggs , David Airlie , dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH][next] drm/nouveau/disp: avoid potential overflow on shift of int value Date: Sun, 27 May 2018 22:54:11 +0100 Message-Id: <20180527215411.24701-1-colin.king@canonical.com> X-Mailer: git-send-email 2.17.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Colin Ian King The constant values being shifted are 32 bit integers and may potentially overflow on the shift. Avoid this potential overflow by making them unsigned long long values before the shift. Detected by CoverityScan, CID#1469383, 1469400 ("Unintentional integer overflow") Signed-off-by: Colin Ian King --- drivers/gpu/drm/nouveau/nvkm/engine/disp/changf119.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/changf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/changf119.c index 29e6dd58ac48..99b94802ed63 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/changf119.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/changf119.c @@ -52,7 +52,7 @@ void gf119_disp_chan_intr(struct nv50_disp_chan *chan, bool en) { struct nvkm_device *device = chan->disp->base.engine.subdev.device; - const u64 mask = 0x00000001 << chan->chid.user; + const u64 mask = 0x00000001ULL << chan->chid.user; if (!en) { nvkm_mask(device, 0x610090, mask, 0x00000000); nvkm_mask(device, 0x6100a0, mask, 0x00000000); diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c index 57719f675eec..43ae3b092e43 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c @@ -166,7 +166,7 @@ void nv50_disp_chan_intr(struct nv50_disp_chan *chan, bool en) { struct nvkm_device *device = chan->disp->base.engine.subdev.device; - const u64 mask = 0x00010001 << chan->chid.user; + const u64 mask = 0x00010001ULL << chan->chid.user; const u64 data = en ? 0x00010000 : 0x00000000; nvkm_mask(device, 0x610028, mask, data); } -- 2.17.0