Commit f1473c6b authored by Alex Hung's avatar Alex Hung Committed by Yongqiang Liu
Browse files

drm/amd/display: Skip on writeback when it's not applicable

stable inclusion
from stable-v6.6.31
commit 951a498fa993c5501994ec2df97c9297b02488c7
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9U8NY
CVE: CVE-2024-36914

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=951a498fa993c5501994ec2df97c9297b02488c7

--------------------------------

[ Upstream commit ecedd99a9369fb5cde601ae9abd58bca2739f1ae ]

[WHY]
dynamic memory safety error detector (KASAN) catches and generates error
messages "BUG: KASAN: slab-out-of-bounds" as writeback connector does not
support certain features which are not initialized.

[HOW]
Skip them when connector type is DRM_MODE_CONNECTOR_WRITEBACK.

Link: https://gitlab.freedesktop.org/drm/amd/-/issues/3199


Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Reviewed-by: default avatarRodrigo Siqueira <rodrigo.siqueira@amd.com>
Acked-by: default avatarRoman Li <roman.li@amd.com>
Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Conflicts:
	drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
[Yongqiang: no need adaption for freesync mode]
Signed-off-by: default avatarYongqiang Liu <liuyongqiang13@huawei.com>
parent 87d5a74b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2051,6 +2051,9 @@ static int dm_resume(void *handle)
	/* Do detection*/
	drm_connector_list_iter_begin(ddev, &iter);
	drm_for_each_connector_iter(connector, &iter) {
		if (connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK)
			continue;

		aconnector = to_amdgpu_dm_connector(connector);

		if (!aconnector->dc_link)
@@ -7541,6 +7544,9 @@ static void amdgpu_dm_commit_audio(struct drm_device *dev,
			continue;

	notify:
		if (connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK)
			continue;

		aconnector = to_amdgpu_dm_connector(connector);

		mutex_lock(&adev->dm.audio_lock);