From mboxrd@z Thu Jan 1 00:00:00 1970 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 66815233721; Mon, 10 Mar 2025 17:44:08 +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=1741628648; cv=none; b=ivJ/oIMLMOAaBTyfsiID5bP7NZSBMovyBRe1TY4AcOsD/mqoyiEz6UH21rCi0Pp4kEinnthbDRC8r+CpUbKVdZ3p2X1eHvmrp+CCy1y98T/JlfYXhsuOk1OH3NcMvP+A9gmzosfvY1TI3yeQW+hMzA+J2gEgCM2l8vkKctGg1dM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741628648; c=relaxed/simple; bh=fkvWwmXSMd+tz5IjMdYHqYTt7o6vDPCyEOG7E9L1Xb4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dpQ4W/P67FTwhAD+T0rUSFzH6egKkzHQC+nhpoA+k2Gnb8DB9rCrS23DGsItVrdCogG0+nmfQGGf3rnVk749oRJIoEZECJ6awPVNalHaRTJaSOYlx4Udwaw+XwXrBKNkETXj/bppBqTMOIIHdMq45whEA4T2D6hEojHd6VBm2LM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=EoceoJKw; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="EoceoJKw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0F8EC4CEEC; Mon, 10 Mar 2025 17:44:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1741628648; bh=fkvWwmXSMd+tz5IjMdYHqYTt7o6vDPCyEOG7E9L1Xb4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EoceoJKwXPpB45yUjEu2NRLPc3ESv9+iIrBP55eBzhGQH2osLK1zd87fDBOe/d2P+ +3qqR7Hdm+GttTxulix4fXT0+GZWTTo69W3JgjeOcmwy6o+VC3KF7AA3WZMaKKy132 WNbNGp0e6hQDUcrzDSpktRPmv9nytoFuCqOI62Zk= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Ivan Stepchenko , Alex Deucher , Sasha Levin Subject: [PATCH 5.15 021/620] drm/amdgpu: Fix potential NULL pointer dereference in atomctrl_get_smc_sclk_range_table Date: Mon, 10 Mar 2025 17:57:47 +0100 Message-ID: <20250310170546.408727302@linuxfoundation.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250310170545.553361750@linuxfoundation.org> References: <20250310170545.553361750@linuxfoundation.org> User-Agent: quilt/0.68 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 5.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: Ivan Stepchenko [ Upstream commit 357445e28ff004d7f10967aa93ddb4bffa5c3688 ] The function atomctrl_get_smc_sclk_range_table() does not check the return value of smu_atom_get_data_table(). If smu_atom_get_data_table() fails to retrieve SMU_Info table, it returns NULL which is later dereferenced. Found by Linux Verification Center (linuxtesting.org) with SVACE. In practice this should never happen as this code only gets called on polaris chips and the vbios data table will always be present on those chips. Fixes: a23eefa2f461 ("drm/amd/powerplay: enable dpm for baffin.") Signed-off-by: Ivan Stepchenko Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppatomctrl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppatomctrl.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppatomctrl.c index cc3b62f733941..1fbd23922082a 100644 --- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppatomctrl.c +++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppatomctrl.c @@ -1420,6 +1420,8 @@ int atomctrl_get_smc_sclk_range_table(struct pp_hwmgr *hwmgr, struct pp_atom_ctr GetIndexIntoMasterTable(DATA, SMU_Info), &size, &frev, &crev); + if (!psmu_info) + return -EINVAL; for (i = 0; i < psmu_info->ucSclkEntryNum; i++) { table->entry[i].ucVco_setting = psmu_info->asSclkFcwRangeEntry[i].ucVco_setting; -- 2.39.5