Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2299511ybl; Thu, 19 Dec 2019 11:12:41 -0800 (PST) X-Google-Smtp-Source: APXvYqywTPzoJE+AZTiBdKpRNA64ZuhM4/lr8A7U/elLoTGIJ/bNr5jNyZEaUqv2YRkCjv1ecJjF X-Received: by 2002:a9d:748d:: with SMTP id t13mr10069234otk.181.1576782760641; Thu, 19 Dec 2019 11:12:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576782760; cv=none; d=google.com; s=arc-20160816; b=QSaeMshJheJa4+gJQhu84UP0t5yrET+Vxnopoq/44obqPUi8sm44bSZ6H40wXekT8+ 0LsGc/MD2S1EhZF7gfHFF9d7uruizlZNyphqbj4OI99qIuN/B99AOW4Oa1KwYKjxrVzm xj5T+GOwuZ1SNJVXAku4hHL9m1MzzI5kXXNwa2ZzS9oAzjW0sEInKUgChG/vZIqzuXba EtK5Nn4mGTkN6ebQYnzWG8KolMrjZbbU4pnQxfbG/DJC2QfXo+92LiBE9GwSqoLutlbu cKBxlJvciEbVXmfxPogaKZsKjYYv6URFlcszm7T4YFMQtN1AIrcfaV9FrH5EcaoBsB/c 2POQ== 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=pOLCcfhwPwTqIqP8xXXvAx0Dgvi/7to9pV/DrkpOxOM=; b=0JDwGKdgFea1W6/ENapWoVlhJl8TQASxyVGvaobI8aWUDaj7atitbrezEe9SvldEqb wOvrt0lH6YiANGd4kVXVepNnZLxjq+3pwbNEU0GwOBisTMcbxA3jzAg+o8FsI3B7N/4a PzICGjjIrMYDXh04zYrfKWxq+XvOede+BorxMktG0mChXtQl1YSTFSwlFKb7kP4ccPA6 XQvBiEIJNREywt2/rWJGGQTrnXNyVcxmQXwSk3UfMQ8ueHUvcSlUJ9m7bIQMAC7h5sfi wotNVR9wDVedYtPsNl7ELxsFhKoHudhx8leF6NnrbU2MHAr4yncsG60xllOb/2JXI2wa 9trA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kGbruHSQ; 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 p12si3824388otk.86.2019.12.19.11.12.28; Thu, 19 Dec 2019 11:12:40 -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=kGbruHSQ; 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 S1727872AbfLSSho (ORCPT + 99 others); Thu, 19 Dec 2019 13:37:44 -0500 Received: from mail.kernel.org ([198.145.29.99]:55414 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727860AbfLSShj (ORCPT ); Thu, 19 Dec 2019 13:37:39 -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 BC3B920716; Thu, 19 Dec 2019 18:37:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576780659; bh=ukK3tZ03T2ojLubsfuqKbVnsJ0LNvG8yLEX+MReaYbk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kGbruHSQtIMlc7JtiwfrTbgPmJa8Iys90ng+KqAX914QZ0jKLiXozr5eqUCdFJ/ph yT26IkkNPP1xJ4gl1BNK5nM5MeAYq0/RaYNTcs7ZshClF0oOoNE5p0sTQlgawo9rKu AwQ2ICJYj9ufqy4SSJ9pt87Un9pumTECHO8pkkqw= 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.4 063/162] drm/i810: Prevent underflow in ioctl Date: Thu, 19 Dec 2019 19:32:51 +0100 Message-Id: <20191219183211.688422226@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191219183150.477687052@linuxfoundation.org> References: <20191219183150.477687052@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 @@ -723,7 +723,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) @@ -1043,7 +1043,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;