Changeset 77172 in vbox for trunk/src/VBox/Runtime/r0drv
- Timestamp:
- Feb 6, 2019 11:38:04 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 128656
- Location:
- trunk/src/VBox/Runtime/r0drv
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/alloc-r0drv.h
r76585 r77172 75 75 /** Linux: Allocated by kmalloc() instead of vmalloc(). */ 76 76 # define RTMEMHDR_FLAG_KMALLOC RT_BIT(31) 77 #elif defined(RT_OS_WINDOWS) 78 /** Windows: Untagged allocation by ExAllocatePool, freed using ExFreePool. */ 79 # define RTMEMHDR_FLAG_UNTAGGED RT_BIT(31) 77 80 #endif 78 81 /** @} */ -
trunk/src/VBox/Runtime/r0drv/nt/alloc-r0drv-nt.cpp
r76553 r77172 55 55 } 56 56 else 57 { 58 fFlags |= RTMEMHDR_FLAG_UNTAGGED; 57 59 pHdr = (PRTMEMHDR)ExAllocatePool(NonPagedPool, cb + sizeof(*pHdr)); 60 } 58 61 if (pHdr) 59 62 { … … 76 79 DECLHIDDEN(void) rtR0MemFree(PRTMEMHDR pHdr) 77 80 { 78 pHdr->u32Magic += 1;79 if (g_pfnrtExFreePoolWithTag )81 pHdr->u32Magic = RTMEMHDR_MAGIC_DEAD; 82 if (g_pfnrtExFreePoolWithTag && !(pHdr->fFlags & RTMEMHDR_FLAG_UNTAGGED)) 80 83 g_pfnrtExFreePoolWithTag(pHdr, IPRT_NT_POOL_TAG); 81 84 else
Note:
See TracChangeset
for help on using the changeset viewer.