Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp1837287imd; Sun, 4 Nov 2018 10:30:02 -0800 (PST) X-Google-Smtp-Source: AJdET5clY/iiP73ekJxXeGaOL6DwR44ivapyp4O+NPbsdSNl0QajbXWcraxNTEgdi8ewyQS2NtT8 X-Received: by 2002:a17:902:a418:: with SMTP id p24-v6mr18592359plq.29.1541356202727; Sun, 04 Nov 2018 10:30:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541356202; cv=none; d=google.com; s=arc-20160816; b=Haf+xAR/JeA6fsre+Knwu6fst9S49Q75Wej5XpJwdDIMlAPtY8X/9cJu/NBwdGRtb1 +6/kCKP1+x4fzUv40+TYqARf/4450/NScSwVW0U5KP450OYAlnjelQdb9Wl7OeItaK9G MXcH/ysA3nP6n0IqlgOGvoV1S6SJqaUMuaVaqtjY6xZ8cdFWHUIYx7ufy9MvYa83PFn8 aDZp2oYGPmaFNJ4SQE+Ys+Dzx1b9hr3SsbvLasaz+5gyTMf8CR7eZlc173VDWIf4Q6tp BY25WVRkWDnFKyGttIFhcVKzyur32jck7+B/2MktfztWpi5Ea/xxSHrd4pyTPRfGS4Gu E3bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=ldLAvDQodwaSfwOOE7YLVMVNvuhV+v5ZMmt+gm5ao1M=; b=t2wxjRbExx6WJ6+IBLHKRl4hP+Ma/96gmWx9bVV3KLmoRp2XbzH4vwAM11FATYqLsC B1H5dxG6q3vcNBrFoIwYOueOZ7s1gjK29jOPBQBNVdG1JI95R0FlwEMMwxM0SlJyFUv6 pE797jqxM3S44voHYcZYPlp0SJ9YGMjMytc25a+A0y82yreTltMrE4OoT6x1AOLkI9oK VorfiJLDnJFcROdA24iLpoCcZ8JNOfeIPvdXalC8IyAt157LHgLWsSihJvwpWnDldrV2 69RTP63HtUWYUFXSTwmIN+cm0mZIi+7CpryM3ZBXNVBJ2bzB+IuyBZfRSoksVrN5RmNP GJlw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=NQfc5WpE; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d123-v6si38883637pgc.393.2018.11.04.10.29.48; Sun, 04 Nov 2018 10:30:02 -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=NQfc5WpE; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730444AbeKDXX3 (ORCPT + 99 others); Sun, 4 Nov 2018 18:23:29 -0500 Received: from mail.kernel.org ([198.145.29.99]:44288 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730002AbeKDXHF (ORCPT ); Sun, 4 Nov 2018 18:07:05 -0500 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id DEB62204FD; Sun, 4 Nov 2018 13:52:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541339521; bh=AEDSYy3NaRj3eEFvSJYPYreYpGMTtQyynlBcwpMluIs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NQfc5WpEOsZdmztedDf/y93p8DAhBu4Lb5o3qFDnImQ9Wr4h+T54nn10uvE1s/6Om NSmD67aZ3fzsSmKXMCa+pnK5zuNiGFZ+dz62lgnchLgcH6oY9MzIfTjiJ199H1yATg cMyVpM4GUkcUbmVqOQl7LG+95fsXLjPd/THpAkLA= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Su Sung Chung , Alex Deucher , Sasha Levin Subject: [PATCH AUTOSEL 4.19 14/57] drm/amd/display: fix bug of accessing invalid memory Date: Sun, 4 Nov 2018 08:51:01 -0500 Message-Id: <20181104135144.88324-14-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181104135144.88324-1-sashal@kernel.org> References: <20181104135144.88324-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Su Sung Chung [ Upstream commit 43c3ff27a47d83d153c4adc088243ba594582bf5 ] [Why] A loop inside of build_evenly_distributed_points function that traverse through the array of points become an infinite loop when m_GammaUpdates does not get assigned to any value. [How] In DMColor, clear m_gammaIsValid bit just before writting all Zeromem for m_GammaUpdates, to prevent calling build_evenly_distributed_points before m_GammaUpdates gets assigned to some value. Signed-off-by: Su Sung Chung Reviewed-by: Aric Cyr Acked-by: Bhawanpreet Lakha Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/modules/color/color_gamma.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/modules/color/color_gamma.c b/drivers/gpu/drm/amd/display/modules/color/color_gamma.c index bf29733958c3..962900932bee 100644 --- a/drivers/gpu/drm/amd/display/modules/color/color_gamma.c +++ b/drivers/gpu/drm/amd/display/modules/color/color_gamma.c @@ -1069,10 +1069,14 @@ static void build_evenly_distributed_points( struct dividers dividers) { struct gamma_pixel *p = points; - struct gamma_pixel *p_last = p + numberof_points - 1; + struct gamma_pixel *p_last; uint32_t i = 0; + // This function should not gets called with 0 as a parameter + ASSERT(numberof_points > 0); + p_last = p + numberof_points - 1; + do { struct fixed31_32 value = dc_fixpt_from_fraction(i, numberof_points - 1); @@ -1083,7 +1087,7 @@ static void build_evenly_distributed_points( ++p; ++i; - } while (i != numberof_points); + } while (i < numberof_points); p->r = dc_fixpt_div(p_last->r, dividers.divider1); p->g = dc_fixpt_div(p_last->g, dividers.divider1); -- 2.17.1