Subject: CVE-2024-36960: drm/vmwgfx: Fix invalid reads in fence signaled events

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

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

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

drm/vmwgfx: Fix invalid reads in fence signaled events

Correctly set the length of the drm_event to the size of the structure
that's actually used.

The length of the drm_event was set to the parent structure instead of
to the drm_vmw_event_fence which is supposed to be read. drm_read
uses the length parameter to copy the event to the user space thus
resuling in oob reads.

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

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

	Issue introduced in 3.4 with commit 8b7de6aa8468 and fixed in 4.19.314 with commit 2f527e3efd37
	Issue introduced in 3.4 with commit 8b7de6aa8468 and fixed in 5.4.276 with commit cef0962f2d3e
	Issue introduced in 3.4 with commit 8b7de6aa8468 and fixed in 5.10.217 with commit 3cd682357c61
	Issue introduced in 3.4 with commit 8b7de6aa8468 and fixed in 5.15.159 with commit b7bab33c4623
	Issue introduced in 3.4 with commit 8b7de6aa8468 and fixed in 6.1.91 with commit 0dbfc73670b3
	Issue introduced in 3.4 with commit 8b7de6aa8468 and fixed in 6.6.31 with commit 7b5fd3af4a25
	Issue introduced in 3.4 with commit 8b7de6aa8468 and fixed in 6.8.10 with commit deab66596dfa
	Issue introduced in 3.4 with commit 8b7de6aa8468 and fixed in 6.9 with commit a37ef7613c00

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-36960
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_fence.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/2f527e3efd37c7c5e85e8aa86308856b619fa59f
	https://git.kernel.org/stable/c/cef0962f2d3e5fd0660c8efb72321083a1b531a9
	https://git.kernel.org/stable/c/3cd682357c6167f636aec8ac0efaa8ba61144d36
	https://git.kernel.org/stable/c/b7bab33c4623c66e3398d5253870d4e88c52dfc0
	https://git.kernel.org/stable/c/0dbfc73670b357456196130551e586345ca48e1b
	https://git.kernel.org/stable/c/7b5fd3af4a250dd0a2a558e07b43478748eb5d22
	https://git.kernel.org/stable/c/deab66596dfad14f1c54eeefdb72428340d72a77
	https://git.kernel.org/stable/c/a37ef7613c00f2d72c8fc08bd83fb6cc76926c8c