c++ - How to allocate a memory with execute permissions? -
i want allocate memory execute permissions. use mprotect change permissions.. page aligned memory use valloc function.
void * temp = (void *) valloc(x); and then
if( mprotect(temp, block_size, (prot_read | prot_write |prot_exec))) { exit(-1); } now want add more memory allocated block. hence use realloc function.
void * new_temp = (void *) realloc(temp, 1024); will reallocate automatically change permissions of allocated memory ones had set earlier ?? in case realloc moves entire block different location, permissions of allocated memory earlier , newly allocated memory?
should mprotect used again execute permissions memory. , there api realloc on page size boundary valloc. ?
try allocating new region valloc, , copying old contents across. better yet, stop using deprecated valloc, , replace either posix_memalign calls, or directly mmap large allocations. using mremap realloc page-aligned memory regions.
Comments
Post a Comment