VirtualBox

Opened 5 years ago

#18510 new defect

#GP when Windows guest driver tries to write X86_CR4_PCIDE in non-HyperV environment

Reported by: jiajun Owned by:
Component: host support Version: VirtualBox 6.0.4
Keywords: Cc:
Guest type: Linux Host type: Windows

Description

Change 70917 [1] introduced code to check whether CR4 can be modified. The code might work on Hyper-V, but not on other VMMs, as the code may set the X86_CR4_PCIDE bit in CR4 while CR3[11:0] is not zero, which generates a #GP according to Intel SDM:

"MOV to CR4 causes a general-protection exception (#GP) if it would change CR4.PCIDE from 0 to 1 and either IA32_EFER.LMA = 0 or CR3[11:0] ≠ 000H"

This issue can be triggered by installing a VM on VirtualBox 6.0.4 installed on a Windows _virtual_ machine that runs on top of other VMM platforms, such as VMware ESX.

[1] https://www.virtualbox.org/changeset/70917/vbox/trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp

Change History (0)

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use