Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp349830pxb; Thu, 30 Sep 2021 07:24:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwRQHkiFLvjO3zlA/6N5sb69NBknSQhMPpbNcyorvbzmbB715KtLt4JwP5fCr5koLbUEMuG X-Received: by 2002:a17:90a:7d11:: with SMTP id g17mr6980545pjl.150.1633011893751; Thu, 30 Sep 2021 07:24:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633011893; cv=none; d=google.com; s=arc-20160816; b=FZ5qwSO4+q3F1BnWmQ0cG9tV58FQ09blC51WISRVnYKmE4oBZtN1oj0PQTY8+dyvIj omgKH1zlXmxnkY7qBk6eSFWCbSp80tYdyQKA7SrrCjSixuj5pSFOnNuVEH7wy2DZAk5M ysjrBVJ+Kbsp8EQg5E6dE6xQbSru+Jbe34YzK9zLbHyddagLpuQqiZ+NCHT+j20ww0tU +VtQP90X/y4QJXJF3gkXJSDzKvQ33IcucIDrrgYYtHcwMRHHi6YCcCIjyFu3DIm2g1m+ mlxVvMw/notwZ5h9PVEeen4SiVT14XTTE4ep71bvnmFEEKqVjmV5Qqd/P5WCfhF1+8QN IRnA== 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=3HqHjju1V6qHP4N5Fhu3jHizcZDAmcAuKPY+5zu5uUA=; b=MFjfZ9V8HckiaC2/Zbh37GZKoxT7luDw/Nln5sJeQriKiE3kYSLGAhIW0rduPbWqf5 H550WaGjQ5yDUJt7AXqm6TIylbP/Mp94/kEJzblygBKG6nn90hNkeA5VRKt/B8lN97T1 2RpSRxaCeMRBDORpiuQOuv59yc1PskMVj2ntUOe8N6wWL8lHfNf6dUse+uLrhGskKm8Y XyCoZpQhimabltSAioy/oHMe7Dot97KYHiv3U/WHIiUbU7WNsKqG2THOyu7OwyUCR2q+ QMy8lNVBu4pHbl4X/HcpZ7CYdmHQzc8zRia6g5qmYeYpajprdCY77lLGG1Ol94IO89tQ sm4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b="DFRDD/II"; 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 i63si4305111pfg.306.2021.09.30.07.24.40; Thu, 30 Sep 2021 07:24:53 -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="DFRDD/II"; 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 S1349951AbhI3KV0 (ORCPT + 99 others); Thu, 30 Sep 2021 06:21:26 -0400 Received: from smtp-relay-canonical-0.canonical.com ([185.125.188.120]:53094 "EHLO smtp-relay-canonical-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349839AbhI3KVZ (ORCPT ); Thu, 30 Sep 2021 06:21:25 -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 6D53040DD7; Thu, 30 Sep 2021 10:19:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1632997181; bh=3HqHjju1V6qHP4N5Fhu3jHizcZDAmcAuKPY+5zu5uUA=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=DFRDD/IITmkIue9vNoR3GTyvYtqoCl6x8xNqCh44bOrIaKBe5ViQ72pzhF6bTUzRX QOQbRPbmQsAdXhHoAKdXcN9IX5FajlToixLg62JCJLkHn6MoQcuthfwpEd7yknMeZW S7ouknTJ6ZkUf25UoKwzDButS2mUuLkbi02jvpT3lYNqiZXfzCOfhWOT02bFkPcE/b sq48NTIIKEHq/0/96U8MR55YEeDWu69UiAAPI4PwdedbZnfF0LR1qLSfzIEiabLTle VH3y2WHtIop8PjVnRD0Qu10XNDd0K7iEuofStKZzOxethnuJ91bdBGD/QknAKCERqX l2TP0jwsOo0Jg== From: Colin King To: David Airlie , Gerd Hoffmann , Daniel Vetter , Nicholas Verne , Gurchetan Singh , dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH][next] drm/virtio: fix potential integer overflow on shift of a int Date: Thu, 30 Sep 2021 11:19:41 +0100 Message-Id: <20210930101941.16546-1-colin.king@canonical.com> X-Mailer: git-send-email 2.32.0 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 left shift of unsigned int 32 bit integer constant 1 is evaluated using 32 bit arithmetic and then assigned to a signed 64 bit integer. In the case where i is 32 or more this can lead to an overflow. Fix this by shifting the value 1ULL instead. Addresses-Coverity: ("Uninitentional integer overflow") Fixes: 8d6b006e1f51 ("drm/virtio: implement context init: handle VIRTGPU_CONTEXT_PARAM_POLL_RINGS_MASK") Signed-off-by: Colin Ian King --- drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c index 5618a1d5879c..b3b0557d72cf 100644 --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c @@ -819,7 +819,7 @@ static int virtio_gpu_context_init_ioctl(struct drm_device *dev, if (vfpriv->ring_idx_mask) { valid_ring_mask = 0; for (i = 0; i < vfpriv->num_rings; i++) - valid_ring_mask |= 1 << i; + valid_ring_mask |= 1ULL << i; if (~valid_ring_mask & vfpriv->ring_idx_mask) { ret = -EINVAL; -- 2.32.0