Commit 1294bf67 authored by Ma Ke's avatar Ma Ke Committed by Liu Chuang
Browse files

drm/gma500: fix null pointer dereference in cdv_intel_lvds_get_modes

stable inclusion
from stable-v5.10.224
commit b6ac46a00188cde50ffba233e6efb366354a1de5
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAKPXH
CVE: CVE-2024-42310

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b6ac46a00188cde50ffba233e6efb366354a1de5



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

commit cb520c3f366c77e8d69e4e2e2781a8ce48d98e79 upstream.

In cdv_intel_lvds_get_modes(), the return value of drm_mode_duplicate()
is assigned to mode, which will lead to a NULL pointer dereference on
failure of drm_mode_duplicate(). Add a check to avoid npd.

Cc: stable@vger.kernel.org
Fixes: 6a227d5f ("gma500: Add support for Cedarview")
Signed-off-by: default avatarMa Ke <make24@iscas.ac.cn>
Signed-off-by: default avatarPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240709113311.37168-1-make24@iscas.ac.cn


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarLiu Chuang <liuchuang40@huawei.com>
parent 6b96457d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -310,6 +310,9 @@ static int cdv_intel_lvds_get_modes(struct drm_connector *connector)
	if (mode_dev->panel_fixed_mode != NULL) {
		struct drm_display_mode *mode =
		    drm_mode_duplicate(dev, mode_dev->panel_fixed_mode);
		if (!mode)
			return 0;

		drm_mode_probed_add(connector, mode);
		return 1;
	}