CVE-2026-90097: Drivers: hv: vmbus: Skip VMBus module cleanup for non-nested root partition

Published Sep 17, 2026
·
Updated

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

Drivers: hv: vmbus: Skip VMBus module cleanup for non-nested root partition

The VMBus module initialization function, hvacpiinit(), currently does nothing when running in the root partition and root is not nested in another VM. But the initialization function reports success, so the VMBus module is indeed loaded. VMBus functionality is not actually needed, but the VMBus module must be loaded so that hvvmbusexists() can answer correctly. Furthermore, the mshvroot dependency on the VMBus module is needed as described in the commit message for 840b740a35bf ("mshv: Add conditional VMBus dependency").

Loading the VMBus module without actually initializing it causes failures if the module should later be unloaded. The module unload code tries to clean up things that were never initialized, resulting in memory faults and a panic.

Fix this by having VMBus module exit function perform the same check for non-nested root partition, and do nothing in such a case, just like hvacpiinit().

In the long run, the code that manages the Hyper-V provided SynIC should be refactored to better coordinate the requirements of root partition scenarios and normal VM scenarios, and to hopefully remove the hvvmbusexists() dependnecy between mshvroot and VMBus modules. Preventing the current unload failure scenario is an expediency until such a refactoring is done.

Event History

Sep 17, 2026
CVE Published
via MITRE·04:06 PM
Data Sourced
via MITRE·04:06 PM
Description

Frequently Asked Questions

1

Which systems are exposed to the unload failure?

The issue affects Linux systems running in the Hyper-V root partition when that root partition is not nested inside another VM, and where the VMBus module is loaded and later unloaded.

2

What action triggers the panic?

The failure occurs when the VMBus module is unloaded after having loaded without initialization in a non-nested root partition. Its cleanup path attempts to release resources that were never initialized, which can cause memory faults and a kernel panic.

3

Is VMBus functionality required for the affected setup?

VMBus functionality is not needed in the non-nested root-partition case described, but the module may still be loaded so hv_vmbus_exists() reports correctly and to satisfy the mshv_root dependency.

4

What does the fix change?

The VMBus module exit path now performs the same non-nested root-partition check as initialization and skips cleanup in that case.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203