Subject: CVE-2024-43894: drm/client: fix null pointer dereference in drm_client_modeset_probe

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

drm/client: fix null pointer dereference in drm_client_modeset_probe

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

The Linux kernel CVE team has assigned CVE-2024-43894 to this issue.

Affected and fixed versions
===========================

	Issue introduced in 5.3 with commit cf13909aee05 and fixed in 5.4.282 with commit 24ddda932c43
	Issue introduced in 5.3 with commit cf13909aee05 and fixed in 5.10.224 with commit 5291d4f73452
	Issue introduced in 5.3 with commit cf13909aee05 and fixed in 5.15.165 with commit c763dfe09425
	Issue introduced in 5.3 with commit cf13909aee05 and fixed in 6.1.105 with commit d64847c38310
	Issue introduced in 5.3 with commit cf13909aee05 and fixed in 6.6.46 with commit d64fc94f7bb2
	Issue introduced in 5.3 with commit cf13909aee05 and fixed in 6.10.5 with commit 612cae53e99c
	Issue introduced in 5.3 with commit cf13909aee05 and fixed in 6.11 with commit 113fd6372a5b

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2024-43894
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	drivers/gpu/drm/drm_client_modeset.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/24ddda932c43ffe156c7f3c568bed85131c63ae6
	https://git.kernel.org/stable/c/5291d4f73452c91e8a11f71207617e3e234d418e
	https://git.kernel.org/stable/c/c763dfe09425152b6bb0e348900a637c62c2ce52
	https://git.kernel.org/stable/c/d64847c383100423aecb6ac5f18be5f4316d9d62
	https://git.kernel.org/stable/c/d64fc94f7bb24fc2be0d6bd5df8df926da461a6d
	https://git.kernel.org/stable/c/612cae53e99ce32a58cb821b3b67199eb6e92dff
	https://git.kernel.org/stable/c/113fd6372a5bb3689aba8ef5b8a265ed1529a78f