Changeset 51907 in vbox
- Timestamp:
- Jul 7, 2014 5:15:05 PM (10 years ago)
- Location:
- trunk/src/VBox/HostDrivers/Support
- Files:
-
- 4 edited
-
SUPDrvIOC.h (modified) (1 diff)
-
win/SUPDrv-win.cpp (modified) (1 diff)
-
win/SUPLib-win.cpp (modified) (2 diffs)
-
win/SUPR3HardenedMain-win.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDrvIOC.h
r51488 r51907 57 57 # define SUP_CTL_CODE_FAST(Function) CTL_CODE(FILE_DEVICE_UNKNOWN, (Function) | SUP_IOCTL_FLAG, METHOD_NEITHER, FILE_WRITE_ACCESS) 58 58 # define SUP_CTL_CODE_NO_SIZE(uIOCtl) (uIOCtl) 59 60 # define SUP_NT_STATUS_BASE UINT32_C(0xe9860000) /**< STATUS_SEVERITY_ERROR + C-bit + facility 0x986. */ 61 # define SUP_NT_STATUS_IS_VBOX(a_rcNt) ( ((uint32_t)(a_rcNt) & 0xffff0000) == SUP_NT_STATUS_BASE ) 62 # define SUP_NT_STATUS_TO_VBOX(a_rcNt) ( (int)((uint32_t)(a_rcNt) | UINT32_C(0xffff0000)) ) 59 63 60 64 #elif defined(RT_OS_SOLARIS) -
trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp
r51786 r51907 2006 2006 { 2007 2007 if (((uint32_t)rc & UINT32_C(0xffff0000)) == UINT32_C(0xffff0000)) 2008 return (NTSTATUS)( ((uint32_t)rc & UINT32_C(0xffff)) 2009 | UINT32_C(0xe9860000) ); /* STATUS_SEVERITY_ERROR + C-bit + facility 0x986 */ 2008 return (NTSTATUS)( ((uint32_t)rc & UINT32_C(0xffff)) | SUP_NT_STATUS_BASE ); 2010 2009 } 2011 2010 return STATUS_UNSUCCESSFUL; -
trunk/src/VBox/HostDrivers/Support/win/SUPLib-win.cpp
r51770 r51907 181 181 return VERR_SUPDRV_HARDENING_EVIL_HANDLE; 182 182 default: 183 184 return rcNt;183 if (SUP_NT_STATUS_IS_VBOX(rcNt)) /* See VBoxDrvNtErr2NtStatus. */ 184 return SUP_NT_STATUS_TO_VBOX(rcNt); 185 185 return VERR_VM_DRIVER_OPEN_ERROR; 186 186 } … … 696 696 697 697 /* See VBoxDrvNtErr2NtStatus. */ 698 if ( ((uint32_t)rcNt & 0xffff0000) == UINT32_C(0xe9860000)) /** @todo defines for these? */699 return (int)((uint32_t)rcNt | UINT32_C(0xffff0000));698 if (SUP_NT_STATUS_IS_VBOX(rcNt)) 699 return SUP_NT_STATUS_TO_VBOX(rcNt); 700 700 701 701 /* Fall back on IPRT for the rest. */ -
trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp
r51770 r51907 48 48 #include "SUPLibInternal.h" 49 49 #include "win/SUPHardenedVerify-win.h" 50 #include "../SUPDrvIOC.h" 50 51 51 52 … … 1422 1423 if (!NT_SUCCESS(rcNt)) 1423 1424 { 1424 int rc ;1425 if ( (rcNt & UINT32_C(0xffff0000)) == 0xe9860000) /* See VBoxDrvNtErr2NtStatus. */ /** @todo #defines for VBoxDrvNtErr2NtStatus mangling*/1426 rc = (int)(rcNt | UINT32_C(0xffff0000));1425 int rc = VERR_OPEN_FAILED; 1426 if (SUP_NT_STATUS_IS_VBOX(rcNt)) /* See VBoxDrvNtErr2NtStatus. */ 1427 rc = SUP_NT_STATUS_TO_VBOX(rcNt); 1427 1428 else 1428 1429 supR3HardenedFatalMsg("supR3HardenedWinReSpawn", kSupInitOp_Driver, VERR_OPEN_FAILED, 1429 1430 "NtCreateFile(%ls) failed: %#x\n", s_wszName, rcNt); 1430 supR3HardenedFatalMsg("supR3HardenedWinReSpawn", kSupInitOp_Driver, VERR_OPEN_FAILED,1431 supR3HardenedFatalMsg("supR3HardenedWinReSpawn", kSupInitOp_Driver, rc, 1431 1432 "NtCreateFile(%ls) failed: %Rrc (rcNt=%#x)\n", s_wszName, rc, rcNt); 1432 1433 }
Note:
See TracChangeset
for help on using the changeset viewer.

