Index: /trunk/include/VBox/vmm/cpum.h
===================================================================
--- /trunk/include/VBox/vmm/cpum.h	(revision 67942)
+++ /trunk/include/VBox/vmm/cpum.h	(revision 67943)
@@ -1326,6 +1326,6 @@
 DECLINLINE(bool) CPUMIsGuestSvmCtrlInterceptSet(PCCPUMCTX pCtx, uint64_t fIntercept)
 {
-    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
-    return RT_BOOL(pVmcbCtrl->u64InterceptCtrl & fIntercept);
+    PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb);
+    return pVmcb && (pVmcb->ctrl.u64InterceptCtrl & fIntercept);
 }
 
@@ -1340,6 +1340,6 @@
 DECLINLINE(bool) CPUMIsGuestSvmReadCRxInterceptSet(PCCPUMCTX pCtx, uint8_t uCr)
 {
-    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
-    return RT_BOOL(pVmcbCtrl->u16InterceptRdCRx & (1 << uCr));
+    PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb);
+    return pVmcb && (pVmcb->ctrl.u16InterceptRdCRx & (1 << uCr));
 }
 
@@ -1354,6 +1354,6 @@
 DECLINLINE(bool) CPUMIsGuestSvmWriteCRxInterceptSet(PCCPUMCTX pCtx, uint8_t uCr)
 {
-    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
-    return RT_BOOL(pVmcbCtrl->u16InterceptWrCRx & (1 << uCr));
+    PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb);
+    return pVmcb && (pVmcb->ctrl.u16InterceptWrCRx & (1 << uCr));
 }
 
@@ -1368,6 +1368,6 @@
 DECLINLINE(bool) CPUMIsGuestSvmReadDRxInterceptSet(PCCPUMCTX pCtx, uint8_t uDr)
 {
-    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
-    return RT_BOOL(pVmcbCtrl->u16InterceptRdDRx & (1 << uDr));
+    PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb);
+    return pVmcb && (pVmcb->ctrl.u16InterceptRdDRx & (1 << uDr));
 }
 
@@ -1382,6 +1382,6 @@
 DECLINLINE(bool) CPUMIsGuestSvmWriteDRxInterceptSet(PCCPUMCTX pCtx, uint8_t uDr)
 {
-    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
-    return RT_BOOL(pVmcbCtrl->u16InterceptWrDRx & (1 << uDr));
+    PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb);
+    return pVmcb && (pVmcb->ctrl.u16InterceptWrDRx & (1 << uDr));
 }
 
@@ -1397,6 +1397,6 @@
 {
     Assert(uVector < 32);
-    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
-    return RT_BOOL(pVmcbCtrl->u32InterceptXcpt & (UINT32_C(1) << uVector));
+    PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb);
+    return pVmcb && (pVmcb->ctrl.u32InterceptXcpt & (UINT32_C(1) << uVector));
 }
 #endif /* !IN_RC */
@@ -1415,6 +1415,6 @@
      */
 #ifndef IN_RC
-    PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;
-    return RT_BOOL(pVmcbCtrl && (pVmcbCtrl->u64InterceptCtrl & SVM_CTRL_INTERCEPT_VMRUN));
+    PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb);
+    return pVmcb && (pVmcb->ctrl.u64InterceptCtrl & SVM_CTRL_INTERCEPT_VMRUN);
 #else
     RT_NOREF(pCtx);
