Changeset 93251 in vbox
- Timestamp:
- Jan 15, 2022 3:20:12 AM (3 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
-
Config.kmk (modified) (12 diffs)
-
src/VBox/Additions/WINNT/Graphics/Video/disp/Makefile.kmk (modified) (1 diff)
-
src/VBox/Additions/WINNT/Graphics/Video/mp/Makefile.kmk (modified) (1 diff)
-
src/VBox/Additions/WINNT/SharedFolders/driver/Makefile.kmk (modified) (2 diffs)
-
src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp (modified) (2 diffs)
-
src/VBox/Runtime/nt/NtProcessStartup-stub.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r93250 r93251 5009 5009 TEMPLATE_VBoxR0_CXXFLAGS += -Gw 5010 5010 endif 5011 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 5012 TEMPLATE_VBoxR0_CXXFLAGS += -guard:cf 5013 endif 5011 5014 ifdef VBOX_WITH_MSC_ANALYZE_THIS 5012 5015 TEMPLATE_VBoxR0_CXXFLAGS += /analyze … … 5023 5026 TEMPLATE_VBoxR0_LDFLAGS += -IntegrityCheck 5024 5027 endif 5028 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 5029 TEMPLATE_VBoxR0_LDFLAGS += -Guard:CF 5030 endif 5025 5031 TEMPLATE_VBoxR0_LIBS = \ 5026 5032 $(PATH_STAGE_LIB)/RuntimeR0Stub$(VBOX_SUFF_LIB) 5033 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 5034 TEMPLATE_VBoxR0_LIBS += \ 5035 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/BufferOverflowK.lib 5036 include $(KBUILD_PATH)/sdks/$(VBOX_WINDDK).kmk ## TODO: Add a kBuild feature for loading SDKs. 5037 endif 5027 5038 TEMPLATE_VBoxR0_SDKS.x86 += VBOX_WIN_INT64 5028 5039 TEMPLATE_VBoxR0_ORDERDEPS = $(VBOX_SIGN_DRIVER_ORDERDEPS) … … 5182 5193 TEMPLATE_VBOXR0DRV_CXXFLAGS += -Gw 5183 5194 endif 5195 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 5196 TEMPLATE_VBOXR0DRV_CXXFLAGS += -guard:cf 5197 endif 5184 5198 ifdef VBOX_WITH_MSC_ANALYZE_THIS 5185 5199 TEMPLATE_VBOXR0DRV_CXXFLAGS += /analyze … … 5195 5209 ifdef VBOX_SIGNING_MODE 5196 5210 TEMPLATE_VBOXR0DRV_LDFLAGS += -IntegrityCheck 5211 endif 5212 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 5213 TEMPLATE_VBOXR0DRV_LDFLAGS += -Guard:CF 5197 5214 endif 5198 5215 TEMPLATE_VBOXR0DRV_ORDERDEPS = $(VBOX_SIGN_DRIVER_ORDERDEPS) … … 5739 5756 TEMPLATE_VBOXR3EXE_CXXFLAGS += -Gw 5740 5757 endif 5758 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 5759 TEMPLATE_VBOXR3EXE_CXXFLAGS += -guard:cf 5760 endif 5741 5761 ifdef VBOX_WITH_MSC_ANALYZE_THIS 5742 5762 TEMPLATE_VBOXR3EXE_CXXFLAGS += /analyze … … 5768 5788 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) 5769 5789 TEMPLATE_VBOXR3EXE_LDFLAGS += -IntegrityCheck 5790 endif 5791 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 5792 TEMPLATE_VBOXR3EXE_LDFLAGS += -Guard:CF 5770 5793 endif 5771 5794 … … 6770 6793 TEMPLATE_VBOXMAINEXE_CXXFLAGS += -Gw 6771 6794 endif 6795 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 6796 TEMPLATE_VBOXMAINEXE_CXXFLAGS += -guard:cf 6797 endif 6772 6798 ifdef VBOX_WITH_MSC_ANALYZE_THIS 6773 6799 TEMPLATE_VBOXMAINEXE_CXXFLAGS += /analyze … … 6802 6828 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) 6803 6829 TEMPLATE_VBOXMAINEXE_LDFLAGS += -IntegrityCheck 6830 endif 6831 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 6832 TEMPLATE_VBOXMAINEXE_LDFLAGS += -Guard:CF 6804 6833 endif 6805 6834 ifdef VBOX_WITH_DTRACE_R3_MAIN … … 7433 7462 TEMPLATE_VBOXQTGUIEXE_CXXFLAGS += -Gw 7434 7463 endif 7464 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 7465 TEMPLATE_VBOXR0DRV_CXXFLAGS += -guard:cf 7466 endif 7435 7467 ifdef VBOX_WITH_MSC_ANALYZE_THIS 7436 7468 TEMPLATE_VBOXR0DRV_CXXFLAGS += /analyze … … 7449 7481 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) 7450 7482 TEMPLATE_VBOXQTGUIEXE_LDFLAGS += -IntegrityCheck 7483 endif 7484 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 7485 TEMPLATE_VBOXQTGUIEXE_LDFLAGS += -Guard:CF 7451 7486 endif 7452 7487 … … 7715 7750 TEMPLATE_VBoxBldProg_CXXFLAGS += -Gw 7716 7751 endif 7752 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 7753 TEMPLATE_VBoxBldProg_CXXFLAGS += -guard:cf 7754 endif 7717 7755 ifdef VBOX_WITH_MSC_ANALYZE_THIS 7718 7756 TEMPLATE_VBoxBldProg_CXXFLAGS += /analyze … … 7749 7787 /DISALLOWLIB:ucrt.lib \ 7750 7788 /DISALLOWLIB:ucrtd.lib 7789 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 7790 TEMPLATE_VBoxBldProg_LDFLAGS += -Guard:CF 7791 endif 7751 7792 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140" 7752 7793 TEMPLATE_VBoxBldProg_LIBS = \ -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/Makefile.kmk
r93115 r93251 72 72 $(VBOX_LIB_IPRT_GUEST_R0_NT4) \ 73 73 $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB) 74 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) # Use the GDI variant here, see /Entry above. 75 VBoxDisp_LIBS += \ 76 $(PATH_SDK_$(VBOX_WINDDK)_LIB.$(KBUILD_TARGET_ARCH))/BufferOverflowGDI.lib 77 endif 74 78 VBoxDisp_USES.win += vboximportchecker 75 79 VBoxDisp_VBOX_IMPORT_CHECKER.win.x86 = nt4/r0 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/Makefile.kmk
r93115 r93251 67 67 VBoxVideo_LIBS.x86 = \ 68 68 $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/exsup.lib 69 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) 70 VBoxVideo_LIBS += \ 71 $(PATH_SDK_$(VBOX_WINDDK)_LIB.$(KBUILD_TARGET_ARCH))/BufferOverflowK.lib 72 endif 69 73 70 74 ifdef VBOX_WITH_WDDM -
trunk/src/VBox/Additions/WINNT/SharedFolders/driver/Makefile.kmk
r93115 r93251 50 50 $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/hal.lib \ 51 51 $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/ksecdd.lib \ 52 $(PATH_SDK_$( VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/BufferOverflowK.lib \52 $(PATH_SDK_$($(if-expr "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD),VBOX_WINDDK,VBOX_WINDDK_GST_WLH))_LIB.$(KBUILD_TARGET_ARCH))/BufferOverflowK.lib \ 53 53 \ 54 54 $(VBOX_LIB_VBGL_R0) \ … … 72 72 $(PATH_SDK_$(VBOX_WINDDK_GST_W2K3)_LIB.x86)/ksecdd.lib \ 73 73 $(PATH_SDK_$(VBOX_WINDDK_GST_W2K3)_LIB.x86)/BufferOverflowK.lib \ 74 $(PATH_SDK_$($(if-expr "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD),VBOX_WINDDK,VBOX_WINDDK_GST_W2K3))_LIB.x86)/BufferOverflowK.lib \ 74 75 \ 75 76 $(VBOX_LIB_VBGL_R0) \ -
trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp
r93115 r93251 2601 2601 && pNtHdrsIprt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress > sizeof(IMAGE_NT_HEADERS) 2602 2602 && pNtHdrsIprt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress < pImage->cbImageBits 2603 ) 2603 && pNtHdrsIprt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG].Size >= sizeof(IMAGE_LOAD_CONFIG_DIRECTORY) 2604 && pNtHdrsIprt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG].VirtualAddress > sizeof(IMAGE_NT_HEADERS) 2605 && pNtHdrsIprt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG].VirtualAddress < pImage->cbImageBits) 2604 2606 { 2605 2607 SUPDRVNTEXCLREGIONS ExcludeRegions; … … 2658 2660 pImp++; 2659 2661 } 2662 2663 /* Exclude the security cookie if present. */ 2664 uint32_t const cbCfg = pNtHdrsIprt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG].Size; 2665 uint32_t const offCfg = pNtHdrsIprt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG].VirtualAddress; 2666 IMAGE_LOAD_CONFIG_DIRECTORY const * const pCfg = (IMAGE_LOAD_CONFIG_DIRECTORY const *)&pbImageBits[offCfg]; 2667 if ( pCfg->Size >= RT_UOFFSET_AFTER(IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie) 2668 && pCfg->SecurityCookie != NULL) 2669 supdrvNtAddExclRegion(&ExcludeRegions, (uintptr_t)pCfg->SecurityCookie - (uintptr_t)pImage->pvImage, sizeof(void *)); 2660 2670 2661 2671 /* -
trunk/src/VBox/Runtime/nt/NtProcessStartup-stub.cpp
r93115 r93251 39 39 } 40 40 41 42 #ifdef IN_RING0 43 extern "C" long DriverEntry(void *pvDrvObjIgn, void *pvRegPathIgn) 44 { 45 ASMBreakpoint(); 46 RT_NOREF(pvDrvObjIgn, pvRegPathIgn); 47 return UINT32_C(0xc0000022); 48 } 49 #endif 50
Note:
See TracChangeset
for help on using the changeset viewer.

