CVE-2026-74442: drm/vmwgfx: avoid destroy_workqueue(NULL) on vkms init failure

Greg Kroah-Hartman <[email protected]>
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026081529-CVE-2026-74442-922b@gregkh>
From: Greg Kroah-Hartman <[email protected]>

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

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

drm/vmwgfx: avoid destroy_workqueue(NULL) on vkms init failure

Two paths through vmw_vkms_init() can leave vmw->crc_workq NULL while
still leaving the rest of the driver in a state that calls
vmw_vkms_cleanup() at module unload:

  1. vmw_host_get_guestinfo(GUESTINFO_VBLANK, ...) failing or
     returning an oversized buffer -- the common case on hosts
     without a VBLANK guestinfo entry -- early-returned before the
     workqueue allocation.
  2. alloc_ordered_workqueue() returning NULL on memory pressure.

vmw_vkms_cleanup() then calls destroy_workqueue(NULL), which
dereferences wq->name and panics.

Fix the first case by removing the early return: vmw->vkms_enabled
is already false on the rpci-failure path so no work will ever be
queued, and allocating the workqueue unconditionally keeps the
control flow simple.  Fix the second case by guarding the cleanup
with a NULL check, since alloc_ordered_workqueue() can still fail
under low memory.

The Linux kernel CVE team has assigned CVE-2026-74442 to this issue.


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

	Issue introduced in 6.10 with commit 7b0062036c3b71b4a69e244ecf0502c06c4cf5f0 and fixed in 6.12.103 with commit 7c701778c6a369769992614dac8dc00c8ac72afc
	Issue introduced in 6.10 with commit 7b0062036c3b71b4a69e244ecf0502c06c4cf5f0 and fixed in 6.18.44 with commit 96efee36453b697ccbaf75091b7a1807c11809dd
	Issue introduced in 6.10 with commit 7b0062036c3b71b4a69e244ecf0502c06c4cf5f0 and fixed in 7.1.8 with commit 0ee0532f1d405d37f38c44cbba87342e63d3bbd4
	Issue introduced in 6.10 with commit 7b0062036c3b71b4a69e244ecf0502c06c4cf5f0 and fixed in 7.2-rc6 with commit 05eaa887e7b4f40fba425f8a1d7a5a8a043092a6

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-2026-74442
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_vkms.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/7c701778c6a369769992614dac8dc00c8ac72afc
	https://git.kernel.org/stable/c/96efee36453b697ccbaf75091b7a1807c11809dd
	https://git.kernel.org/stable/c/0ee0532f1d405d37f38c44cbba87342e63d3bbd4
	https://git.kernel.org/stable/c/05eaa887e7b4f40fba425f8a1d7a5a8a043092a6
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.