From nobody Wed Oct 15 22:47:22 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 32C11279894; Sun, 24 Mar 2024 23:37:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323476; cv=none; b=Cl0D9QShVgM/YZU6HSs2thjiRAzdWvv2pj7NFEGSEGucGrcccAtXZKjnDaDO5Zl/38sfN5ldk9L8sy9HYdCZ6EKyEe8mUulQRUsara+hO+VpYAs3qwStAWBKp4iVm1TaF3Z5WANdakKbIECQ2E9R5SFTVW1C4ea1ja7R4J2b4Tw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323476; c=relaxed/simple; bh=Yd4pCZJ/C+Dzzm1hAAzMvgaigAz9I454/3rbKAWfS+I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ifJusGJMUVUqQq+KTOZCb1KfMI40QHKp2ioLYHIL7jjRlLziVpVMD34FUuACHjwvCTC2Nr6vUYYAjpQ1jDrYf+yGnkL5uR8JJkztXmJIRdzwVLehVYpsb5olnAOL8/6xOFlKtZGAcZjBpkcaQUxEwvQ5BSDZYcy/gRhZgMO6sT8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CTZ5KG+z; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="CTZ5KG+z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 164B2C43394; Sun, 24 Mar 2024 23:37:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323475; bh=Yd4pCZJ/C+Dzzm1hAAzMvgaigAz9I454/3rbKAWfS+I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CTZ5KG+zavQ+qcTb8iCwqjyQxDcXYe9U0bj6NLm8v7C2/b2NhWDRznk328n0WE1YD pbswHgvEqPbXu9NxE65yUunq6VA8ZZ3FwNxK+8Hrch48Pav/mRBHoCZjbst1d/pQMM znowU8N4wYcatU2h66e3AAvOCYy4eSSXCTtjkO/v9DYqLjhaOzMEIXnJDncgGd/D6R cfK8DYNdlzE+velz7mqRwbq63cK/zGDeQfRxJmo2hGvtMaVyGI+ZbzQoKGk6YGG01e 9/BOVa6ZxwqtfL/HrLtHPutp8WWP23kc4CdwvdhRE2+sW1WoVuUAs4N0n/IV0bU83A lGiPI83J9D0Cg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Srinivasan Shanmugam , Wyatt Wood , Anthony Koo , Rodrigo Siqueira , Aurabindo Pillai , Alex Deucher , Sasha Levin Subject: [PATCH 5.15 179/317] drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()' Date: Sun, 24 Mar 2024 19:32:39 -0400 Message-ID: <20240324233458.1352854-180-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324233458.1352854-1-sashal@kernel.org> References: <20240324233458.1352854-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Srinivasan Shanmugam [ Upstream commit 9ccfe80d022df7c595f1925afb31de2232900656 ] The 'stream' pointer is used in dcn10_set_output_transfer_func() before the check if 'stream' is NULL. Fixes the below: drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn10/dcn10_hwseq.c:1892 dcn1= 0_set_output_transfer_func() warn: variable dereferenced before check 'stre= am' (see line 1875) Fixes: ddef02de0d71 ("drm/amd/display: add null checks before logging") Cc: Wyatt Wood Cc: Anthony Koo Cc: Rodrigo Siqueira Cc: Aurabindo Pillai Signed-off-by: Srinivasan Shanmugam Reviewed-by: Anthony Koo Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/dr= ivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c index aa5a1fa68da05..bc603c8af3b66 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c @@ -1745,6 +1745,9 @@ bool dcn10_set_output_transfer_func(struct dc *dc, st= ruct pipe_ctx *pipe_ctx, { struct dpp *dpp =3D pipe_ctx->plane_res.dpp; =20 + if (!stream) + return false; + if (dpp =3D=3D NULL) return false; =20 @@ -1767,8 +1770,8 @@ bool dcn10_set_output_transfer_func(struct dc *dc, st= ruct pipe_ctx *pipe_ctx, } else dpp->funcs->dpp_program_regamma_pwl(dpp, NULL, OPP_REGAMMA_BYPASS); =20 - if (stream !=3D NULL && stream->ctx !=3D NULL && - stream->out_transfer_func !=3D NULL) { + if (stream->ctx && + stream->out_transfer_func) { log_tf(stream->ctx, stream->out_transfer_func, dpp->regamma_params.hw_points_num); --=20 2.43.0