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