Changeset 100316 in vbox for trunk/src/VBox/Additions/common
- Timestamp:
- Jun 28, 2023 10:34:00 AM (23 months ago)
- svn:sync-xref-src-repo-rev:
- 158031
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceBalloon.cpp
r98103 r100316 99 99 { 100 100 #ifdef RT_OS_LINUX 101 void *pv = (void*)mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); 101 size_t const cbPage = RTSystemGetPageSize(); 102 void *pv = (void*)mmap(NULL, cbPage, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); 102 103 if (pv != MAP_FAILED) 103 104 { 104 g_fSysMadviseWorks = madvise(pv, PAGE_SIZE, MADV_DONTFORK) == 0;105 munmap(pv, PAGE_SIZE);105 g_fSysMadviseWorks = madvise(pv, cbPage, MADV_DONTFORK) == 0; 106 munmap(pv, cbPage); 106 107 } 107 108 #endif … … 119 120 120 121 #ifdef RT_OS_LINUX 122 size_t const cbPage = RTSystemGetPageSize(); 121 123 if (!g_fSysMadviseWorks) 122 cb += 2 * PAGE_SIZE;124 cb += 2 * cbPage; 123 125 124 126 pu8 = (char*)mmap(NULL, cb, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); … … 143 145 * area struct of the very same size as the mmap area. 144 146 */ 145 RTMemProtect(pu8, PAGE_SIZE, RTMEM_PROT_NONE);146 RTMemProtect(pu8 + cb - PAGE_SIZE, PAGE_SIZE, RTMEM_PROT_NONE);147 pu8 += PAGE_SIZE;147 RTMemProtect(pu8, cbPage, RTMEM_PROT_NONE); 148 RTMemProtect(pu8 + cb - cbPage, cbPage, RTMEM_PROT_NONE); 149 pu8 += cbPage; 148 150 } 149 151 … … 170 172 171 173 #ifdef RT_OS_LINUX 172 173 174 if (!g_fSysMadviseWorks) 174 175 { 175 cb += 2 * PAGE_SIZE; 176 pu8 -= PAGE_SIZE; 176 size_t const cbPage = RTSystemGetPageSize(); 177 178 cb += 2 * cbPage; 179 pu8 -= cbPage; 177 180 /* This is not really necessary */ 178 RTMemProtect(pu8, PAGE_SIZE, RTMEM_PROT_READ | RTMEM_PROT_WRITE);179 RTMemProtect(pu8 + cb - PAGE_SIZE, PAGE_SIZE, RTMEM_PROT_READ | RTMEM_PROT_WRITE);181 RTMemProtect(pu8, cbPage, RTMEM_PROT_READ | RTMEM_PROT_WRITE); 182 RTMemProtect(pu8 + cb - cbPage, cbPage, RTMEM_PROT_READ | RTMEM_PROT_WRITE); 180 183 } 181 184 munmap(pu8, cb);
Note:
See TracChangeset
for help on using the changeset viewer.