Subject: CVE-2024-26979: drm/vmwgfx: Fix possible null pointer derefence with invalid contexts

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

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

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

drm/vmwgfx: Fix possible null pointer derefence with invalid contexts

vmw_context_cotable can return either an error or a null pointer and its
usage sometimes went unchecked. Subsequent code would then try to access
either a null pointer or an error value.

The invalid dereferences were only possible with malformed userspace
apps which never properly initialized the rendering contexts.

Check the results of vmw_context_cotable to fix the invalid derefs.

Thanks:
ziming zhang(@ezrak1e) from Ant Group Light-Year Security Lab
who was the first person to discover it.
Niels De Graef who reported it and helped to track down the poc.

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

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

	Issue introduced in 4.20 with commit 9c079b8ce8bf and fixed in 5.10.215 with commit c560327d900b
	Issue introduced in 4.20 with commit 9c079b8ce8bf and fixed in 5.15.154 with commit 899e154f9546
	Issue introduced in 4.20 with commit 9c079b8ce8bf and fixed in 6.1.84 with commit 07c3fe923ff7
	Issue introduced in 4.20 with commit 9c079b8ce8bf and fixed in 6.6.24 with commit ff41e0d4f3fa
	Issue introduced in 4.20 with commit 9c079b8ce8bf and fixed in 6.7.12 with commit 9cb3755b1e36
	Issue introduced in 4.20 with commit 9c079b8ce8bf and fixed in 6.8.3 with commit 585fec7361e7
	Issue introduced in 4.20 with commit 9c079b8ce8bf and fixed in 6.9 with commit 517621b70600

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-26979
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/vmwgfx/vmwgfx_execbuf.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/c560327d900bab968c2e1b4cd7fa2d46cd429e3d
	https://git.kernel.org/stable/c/899e154f9546fcae18065d74064889d08fff62c2
	https://git.kernel.org/stable/c/07c3fe923ff7eccf684fb4f8c953d0a7cc8ded73
	https://git.kernel.org/stable/c/ff41e0d4f3fa10d7cdd7d40f8026bea9fcc8b000
	https://git.kernel.org/stable/c/9cb3755b1e3680b720b74dbedfac889e904605c7
	https://git.kernel.org/stable/c/585fec7361e7850bead21fada49a7fcde2f2e791
	https://git.kernel.org/stable/c/517621b7060096e48e42f545fa6646fc00252eac