VirtualBox

Changeset 47653 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Aug 9, 2013 5:43:26 PM (11 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Fixed a bug in checking invalid guest-state logic.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r47652 r47653  
    77927792             *        linear-address bits. */
    77937793
     7794            /* Flags in pCtx can be different (real-on-v86 for instance). We are only concerned about the VMCS contents here. */
    77947795            rc = VMXReadVmcs64(VMX_VMCS_GUEST_RFLAGS, &u64Val);
    77957796            AssertRCBreak(rc);
    7796             /* Flags in pCtx can be different (real-on-v86 for instance). We are only concerned about the VMCS contents here. */
    7797             HMVMX_CHECK_BREAK(!(u64Val & (X86_EFL_LIVE_MASK | X86_EFL_RA1_MASK)), VMX_IGS_RFLAGS_RESERVED);
    7798             HMVMX_CHECK_BREAK((u64Val & X86_EFL_RA1_MASK), VMX_IGS_RFLAGS_RESERVED1);
     7797            HMVMX_CHECK_BREAK(!(u64Val & UINT64_C(0xffffffffffc08028)),                     /* Bit 63:22, Bit 15, 5, 3 MBZ. */
     7798                              VMX_IGS_RFLAGS_RESERVED);
     7799            HMVMX_CHECK_BREAK((u64Val & X86_EFL_RA1_MASK), VMX_IGS_RFLAGS_RESERVED1);       /* Bit 1 MB1. */
    77997800            u32EFlags = u64Val;
    78007801        }
     
    78047805            rc = VMXReadVmcs32(VMX_VMCS_GUEST_RFLAGS, &u32EFlags);
    78057806            AssertRCBreak(rc);
    7806             HMVMX_CHECK_BREAK(!(u32EFlags & (X86_EFL_LIVE_MASK | X86_EFL_RA1_MASK)), VMX_IGS_RFLAGS_RESERVED);
    7807             HMVMX_CHECK_BREAK((u32EFlags & X86_EFL_RA1_MASK), VMX_IGS_RFLAGS_RESERVED1);
     7807            HMVMX_CHECK_BREAK(!(u32EFlags & 0xffc08028), VMX_IGS_RFLAGS_RESERVED);          /* Bit 31:22, Bit 15, 5, 3 MBZ. */
     7808            HMVMX_CHECK_BREAK((u32EFlags & X86_EFL_RA1_MASK), VMX_IGS_RFLAGS_RESERVED1);    /* Bit 1 MB1. */
    78087809        }
    78097810
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette