Commit db6f5bf6 authored by Ma Ke's avatar Ma Ke Committed by Yuntao Liu
Browse files

drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes

stable inclusion
from stable-v5.10.222
commit 274cba8d2d1b48c72d8bd90e76c9e2dc1aa0a81d
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAGS04
CVE: CVE-2024-42101

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



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

commit 80bec6825b19d95ccdfd3393cf8ec15ff2a749b4 upstream.

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

Cc: stable@vger.kernel.org
Fixes: 6ee73861 ("drm/nouveau: Add DRM driver for NVIDIA GPUs")
Signed-off-by: default avatarMa Ke <make24@iscas.ac.cn>
Signed-off-by: default avatarLyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240627074204.3023776-1-make24@iscas.ac.cn


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarYuntao Liu <liuyuntao12@huawei.com>
parent 4f1da763
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -960,6 +960,9 @@ nouveau_connector_get_modes(struct drm_connector *connector)
		struct drm_display_mode *mode;

		mode = drm_mode_duplicate(dev, nv_connector->native_mode);
		if (!mode)
			return 0;

		drm_mode_probed_add(connector, mode);
		ret = 1;
	}