Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp4248772pxb; Mon, 8 Feb 2021 11:25:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJwT/GkIsqFv55Fz9nCKqh/AW/DZUA4v0nqDBaGQuW6cmWA4gPjIaZgc3RTKmJpfJj1FIu5D X-Received: by 2002:a17:906:80b:: with SMTP id e11mr18378100ejd.269.1612812357434; Mon, 08 Feb 2021 11:25:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612812357; cv=none; d=google.com; s=arc-20160816; b=d887mOr22cgiIOYzKQdIehBb26iRN/hOPB3RUocygYYYssnlAIK8BqDUcJnDpdqDnR tIno8+2QtIADLTY/IaRlYPugTC1cOJp4Q6BLT1+7l/fjWLKY4iVZh/EDSuV/62MbVUNn VeVSf1FU0o3+yfh4ZvAdLVuRAQvmi4fIwPHJjtZFZwjQSMtcb2I6xZWiF++SFvQkyRrB cAMPfLcO8iYxxoNhOhfFBFc4pXsK0KjrexfwMI7deHEml0D4Lno6ftJTpNJFQn5f5tLY XGr2HRtN5jXFksc/0JacL7aYxMZcblEUaorYmSX7HsxZrliSd6YHn3AIvrSGwhpCcg7D SjdA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=IktSC18vS09lJSKGtvug20QMj3VrKADyvJcSaYwUcKY=; b=C0KdAegJPgdidXIAZl/6sSkh0iobFCdMJi/5PFgfnMKMUIGClnY92Bv6VhgJoQFP1C yMRk94eYoWuFvuLJf1yOFWt3sOmR/3GAbXFj/1+lIZSGJ/Z/aM1AaRjN9IZM+zXIOYm2 R4WJXFoR8Gblgc1iVLM8LnQIZVLKcKAEprj7Mu0gocLWFXN212KuZr4L6Y7JIOgQJ0oj K8xCINTu2637s6Q3kQ2IxNbvbQeso7qiY4Q2croPoF5FGCV6S3i+AO9PYaml2DELPWwz v3qscVl+s/y+82JUmed3rxPd3LJIyXtKdj3Iv9EfmKp0o25bpAv9RciHYeXn250M/ZXc NPpA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FTRyvndF; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x21si11753868ejy.280.2021.02.08.11.25.33; Mon, 08 Feb 2021 11:25:57 -0800 (PST) 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=@kernel.org header.s=k20201202 header.b=FTRyvndF; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235467AbhBHTX5 (ORCPT + 99 others); Mon, 8 Feb 2021 14:23:57 -0500 Received: from mail.kernel.org ([198.145.29.99]:47384 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235169AbhBHSAp (ORCPT ); Mon, 8 Feb 2021 13:00:45 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8FB4464EBF; Mon, 8 Feb 2021 17:58:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1612807121; bh=JWGIl2wJdPtQsta544evU1X5AIPRaSGLq/L7vizkwzQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FTRyvndFHaDwqFEcIH7iJiQD9SmTWm6vjC9vrq0CqHkvcjOQRQRxFlCYqIpVY75er D2Nu8+pD42+EH2JI+YYPAMKLOYFmC0lIFY7MbmiM7kCoTItCYjJ7oPi6VNOaaWxGRU Qk0z7NT+QTur6NVvX342Yn6cMGrPfM0+R8cPdwOmARezq/Cg+A+5xZoOO5EjEyeiFS cz+dHw6fTiD1rzfLMVCr0Y1KIs9ilfRbcZ6h0yfsSM+/pTKenHdc4mViv2Ky74nI4A DE+l1rIxlzQbHFVgrpd1lv4EEi5LuV4UDX9j4FFZylmmDkFJRSCHjl+SuHEnM74jog NIPWsDhkjLaUA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Victor Lu , Rodrigo Siqueira , Anson Jacob , Daniel Wheeler , Alex Deucher , Sasha Levin , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH AUTOSEL 5.10 25/36] drm/amd/display: Decrement refcount of dc_sink before reassignment Date: Mon, 8 Feb 2021 12:57:55 -0500 Message-Id: <20210208175806.2091668-25-sashal@kernel.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210208175806.2091668-1-sashal@kernel.org> References: <20210208175806.2091668-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Victor Lu [ Upstream commit 8e92bb0fa75bca9a57e4aba2e36f67d8016a3053 ] [why] An old dc_sink state is causing a memory leak because it is missing a dc_sink_release before a new dc_sink is assigned back to aconnector->dc_sink. [how] Decrement the dc_sink refcount before reassigning it to a new dc_sink. Signed-off-by: Victor Lu Reviewed-by: Rodrigo Siqueira Acked-by: Anson Jacob Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 695a5b83c00f9..022821334153b 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -2261,8 +2261,10 @@ void amdgpu_dm_update_connector_after_detect( * TODO: check if we still need the S3 mode update workaround. * If yes, put it here. */ - if (aconnector->dc_sink) + if (aconnector->dc_sink) { amdgpu_dm_update_freesync_caps(connector, NULL); + dc_sink_release(aconnector->dc_sink); + } aconnector->dc_sink = sink; dc_sink_retain(aconnector->dc_sink); -- 2.27.0