Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp781752ybl; Wed, 11 Dec 2019 07:26:11 -0800 (PST) X-Google-Smtp-Source: APXvYqxioo7GMUYqzV+NSSPBxO0qu2zvmAeE8nNRS9CiddJG7gEel1SQnO5TV6QPoUhizArDPSSv X-Received: by 2002:a05:6830:1116:: with SMTP id w22mr2755445otq.63.1576077971303; Wed, 11 Dec 2019 07:26:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576077971; cv=none; d=google.com; s=arc-20160816; b=HGMRVH/dtKM6rVQsh1z5Y2Q6MR14SVcHIcy/k1305a2rsb4XLp/LdLiuv/FKII3dGi 1Syiv954PIIzOtrsrfi7gxEHrCjesI9wEY74ZybB0eSbs+hz5oiQT+Kb0aPIXOV8rVBU XC73kaPKB0xTeDEvCtA2Z0Y4tTENMk6k7+bVxI8pKrhFThhsK7huT7r8Gd/NMXnlOSlN UTltDUedonjmHMSVh/l7OQ9B6mtf628kvfFUWIOnkmq4n40y8SCeXdFfTCVGgTW1GaR1 /5cMgHh/uiHQcX6+IsWF/kJDEFVf2hZ5Ma37SzpD2AHO6LwVMwAc0wYpYRXAsjlPYNVj rA5g== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Qmmz4U+viBzTKFVmhDmCjOs75Ts5SU4OAPT93BgSGLw=; b=0/EcmTRmD2tz5gHzzz5UK/630n9/9UmCCrsXwMuocP4mW9Rhlt3/QeJrL8oA8Vmzkb u6Ovn2CSWOm9OhCEf84h4Bbr3HoBm2dKm+8vczzbzoU+/KQzUUJBrVeMau+wku1yLLV5 0qOxSPs+u6VKYOkjlOiPH1wwjiRjL765ok257pD8IAca6TM7D7jp9ZwbwsxsVe8/UejZ OTqGUEKWyr4+N2GgToghSiqf0oVOJ5YCWppo99G/xasLjQHwrIp0kofIUDvTnO2zJ6Xe UMO2eohpdTQZqsJhusS437I1Xlui+IuNTtjXa4fJ/4HeTQhtPaGiu8UKRq6/zcn+eBWl ED7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=s4EFpw2k; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d192si1323890oig.21.2019.12.11.07.25.59; Wed, 11 Dec 2019 07:26:11 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=s4EFpw2k; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733010AbfLKPZa (ORCPT + 99 others); Wed, 11 Dec 2019 10:25:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:57594 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732332AbfLKPZ2 (ORCPT ); Wed, 11 Dec 2019 10:25:28 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id F189E2173E; Wed, 11 Dec 2019 15:25:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576077928; bh=pVBuCuaPElvOO28i5x9YeOhkvZD/mwC1UK4HUXmlsAU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=s4EFpw2ktboU4Ku9nbSxgk7vYfqxC0294FmHpiltf9cDq0o6NcVGNhiRuiin9FsNY LhY3TCgBsOXIXUNabTIp0IClwWsfe/bCATnAawkUde4QT+LctJcddNCPcBkLcbCdP6 d73/V+W0iQ4KczZcTba7K4HUsxAutnLd/v8RNpVo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dan Carpenter , Chris Wilson Subject: [PATCH 4.19 223/243] drm/i810: Prevent underflow in ioctl Date: Wed, 11 Dec 2019 16:06:25 +0100 Message-Id: <20191211150354.383583315@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191211150339.185439726@linuxfoundation.org> References: <20191211150339.185439726@linuxfoundation.org> User-Agent: quilt/0.66 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: Dan Carpenter commit 4f69851fbaa26b155330be35ce8ac393e93e7442 upstream. The "used" variables here come from the user in the ioctl and it can be negative. It could result in an out of bounds write. Signed-off-by: Dan Carpenter Reviewed-by: Chris Wilson Signed-off-by: Chris Wilson Link: https://patchwork.freedesktop.org/patch/msgid/20191004102251.GC823@mwanda Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/i810/i810_dma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/gpu/drm/i810/i810_dma.c +++ b/drivers/gpu/drm/i810/i810_dma.c @@ -721,7 +721,7 @@ static void i810_dma_dispatch_vertex(str if (nbox > I810_NR_SAREA_CLIPRECTS) nbox = I810_NR_SAREA_CLIPRECTS; - if (used > 4 * 1024) + if (used < 0 || used > 4 * 1024) used = 0; if (sarea_priv->dirty) @@ -1041,7 +1041,7 @@ static void i810_dma_dispatch_mc(struct if (u != I810_BUF_CLIENT) DRM_DEBUG("MC found buffer that isn't mine!\n"); - if (used > 4 * 1024) + if (used < 0 || used > 4 * 1024) used = 0; sarea_priv->dirty = 0x7f;