Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp1352108ybh; Sun, 8 Mar 2020 01:27:27 -0800 (PST) X-Google-Smtp-Source: ADFU+vsUVFBEe0NFK0jrKI0tip877J2k4QA7TLe3Us0NyzBlT1kHAC8fzF/CypmC+yGoyix1Vf3F X-Received: by 2002:aca:5c46:: with SMTP id q67mr8073048oib.75.1583659647107; Sun, 08 Mar 2020 01:27:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583659647; cv=none; d=google.com; s=arc-20160816; b=ARJGOL2cifWUbY5Rs0bWuxGuU5XHIbX3BoWzZqB4HSe7bX5IT1RH9B2a/vkvEcv+la X4mncpEVIcqyvXGCPD4CY22R02V46j4MQMq32RILlJ0VdDapij1jta8PVpnVV0+kgFmf Ze9DkCTLj2sKM4ZdKMirybl9vmNOTVTdBwdSA4C4t58xAPrPu47mOjA4QnO4p+aWbdFu T84sYGYC3Hqu5poy6FjFJlZSULAJcI6jULdS2ihQtyjp+7Hug77cYB5L9oxwlcP8u8zA fczd2gBuh2ITScbTZ2mNc8x++CxgUN4Fxe0T1BKl0Waz/17tJ7xalGH3XixoJ1WA3flf fc9g== 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 :message-id:date:subject:cc:to:from; bh=Cy2uIWG4xMXzrF9xWlyQmzWX/u8MoLKnoWbw7hNt7Zw=; b=qbgSaxDFPiAogV5Orocao54gR4tYQURY/M7Pjo8r5xyS1Ny2tljfT0nc4JchFVt7lS DMyv/gWrm+QUWB0sahoyVu3QrzPZt0gIVb/7R2IDbPWQa+eriBYGv/WkpYR2rvsWMeKH v1rLMdHRMlso2OHXpoDNODjJtwZAEPO8HXGmHtgS9vGR6wcYhCg4l536ABPmc88cdRNV NMSuVUN4NB0KNtqCy4JX5qa/MArMQd+ywhuOu5V3lYTsMe96gMVv2fZQugOKrLrMZdVo kdme3VOPEIB7iyGIdvIQ0+7efIUGQn8/ncnkmSnPQjbmORvd0dEm8oGjI+X4NQRHWEYS jmQg== ARC-Authentication-Results: i=1; mx.google.com; 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 b24si4415621otq.72.2020.03.08.01.27.13; Sun, 08 Mar 2020 01:27:27 -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; 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 S1726270AbgCHJ0q (ORCPT + 99 others); Sun, 8 Mar 2020 05:26:46 -0400 Received: from smtp09.smtpout.orange.fr ([80.12.242.131]:23968 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726175AbgCHJ0q (ORCPT ); Sun, 8 Mar 2020 05:26:46 -0400 Received: from localhost.localdomain ([90.126.162.40]) by mwinf5d18 with ME id BlSf220010scBcy03lSf0d; Sun, 08 Mar 2020 10:26:44 +0100 X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sun, 08 Mar 2020 10:26:44 +0100 X-ME-IP: 90.126.162.40 From: Christophe JAILLET To: harry.wentland@amd.com, sunpeng.li@amd.com, alexander.deucher@amd.com, christian.koenig@amd.com, David1.Zhou@amd.com, airlied@linux.ie, daniel@ffwll.ch, nicholas.kazlauskas@amd.com, Bhawanpreet.Lakha@amd.com, mario.kleiner.de@gmail.com, David.Francis@amd.com Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] drm/amdgpu/display: Fix an error handling path in 'dm_update_crtc_state()' Date: Sun, 8 Mar 2020 10:26:37 +0100 Message-Id: <20200308092637.8194-1-christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 'dc_stream_release()' may be called twice. Once here, and once below in the error handling path if we branch to the 'fail' label. Set 'new_stream' to NULL, once released to avoid the duplicated release function call. Signed-off-by: Christophe JAILLET --- Maybe the 'goto fail' at line 7745 should be turned into a 'return ret' instead. Could be clearer. No Fixes tag provided because I've not been able to dig deep enough in the git history. --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 97c1b01c0fc1..9d7773a77c4f 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -7704,8 +7704,10 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm, skip_modeset: /* Release extra reference */ - if (new_stream) - dc_stream_release(new_stream); + if (new_stream) { + dc_stream_release(new_stream); + new_stream = NULL; + } /* * We want to do dc stream updates that do not require a -- 2.20.1