VirtualBox

Changeset 93274 in vbox


Ignore:
Timestamp:
Jan 17, 2022 2:42:20 PM (3 years ago)
Author:
vboxsync
Message:

/Config.kmk,SUPDrv-win.cpp: Run the security cookie initializer for .r0 modules. bugref:10162

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r93261 r93274  
    50565056 endif
    50575057TEMPLATE_VBoxR0_LDFLAGS.win.amd64   = $(VBOX_VCC_LD_HIGH_ENTRYOPY_VA)
     5058 ifneq ($(VBOX_VCC_CC_GUARD_CF),)
     5059TEMPLATE_VBoxR0_LDFLAGS.win.amd64  += -Include:__security_init_cookie  -Export:ModuleInitSecurityCookie=__security_init_cookie
     5060TEMPLATE_VBoxR0_LDFLAGS.win.x86    += -Include:___security_init_cookie -Export:ModuleInitSecurityCookie=___security_init_cookie
     5061 endif
    50585062TEMPLATE_VBoxR0_LIBS                = \
    50595063        $(PATH_STAGE_LIB)/RuntimeR0Stub$(VBOX_SUFF_LIB)
    5060  if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD)
     5064 ifneq ($(VBOX_VCC_CC_GUARD_CF),)
    50615065TEMPLATE_VBoxR0_LIBS               += \
    50625066        $(PATH_SDK_$(VBOX_WINDDK)_LIB)/BufferOverflowK.lib
  • trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp

    r93273 r93274  
    27032703                iDiff = supdrvNtCompare(pImage, pbImageBits, uRvaNext, pImage->cbImageBits - uRvaNext, pReq);
    27042704            if (!iDiff)
     2705            {
     2706                /*
     2707                 * If there is a cookie init export, call it.
     2708                 *
     2709                 * This typically just does:
     2710                 *      __security_cookie = (rdtsc ^ &__security_cookie) & 0xffffffffffff;
     2711                 *      __security_cookie_complement = ~__security_cookie;
     2712                 */
     2713                PFNRT pfnModuleInitSecurityCookie = NULL;
     2714                int rcSym = supdrvOSLdrQuerySymbol(pDevExt, pImage, RT_STR_TUPLE("ModuleInitSecurityCookie"),
     2715                                                   (void **)&pfnModuleInitSecurityCookie);
     2716                if (RT_SUCCESS(rcSym) && pfnModuleInitSecurityCookie)
     2717                    pfnModuleInitSecurityCookie();
     2718
    27052719                return VINF_SUCCESS;
     2720            }
    27062721        }
    27072722        else
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