Make heap and stack private mapping
Change-Id: I4306566b3bbbe27d206c5518a2d36d117ba4ca9f
This commit is contained in:
@ -254,7 +254,7 @@ int prepare_process_ranges_args_envs(struct thread *thread,
|
||||
#endif
|
||||
|
||||
/* Map, copy and update args and envs */
|
||||
flags = VR_PROT_READ | VR_PROT_WRITE;
|
||||
flags = VR_PROT_READ | VR_PROT_WRITE | VR_PRIVATE;
|
||||
flags |= VRFLAG_PROT_TO_MAXPROT(flags);
|
||||
addr = vm->region.map_start - PAGE_SIZE * SCD_RESERVED_COUNT;
|
||||
e = addr + PAGE_SIZE * ARGENV_PAGE_COUNT;
|
||||
|
||||
@ -2303,7 +2303,7 @@ int init_process_stack(struct thread *thread, struct program_load_desc *pn,
|
||||
|
||||
memset(stack, 0, minsz);
|
||||
|
||||
vrflag = VR_STACK | VR_DEMAND_PAGING;
|
||||
vrflag = VR_STACK | VR_DEMAND_PAGING | VR_PRIVATE;
|
||||
vrflag |= ((ap_flag & IHK_MC_AP_USER) ? VR_AP_USER : 0);
|
||||
vrflag |= PROT_TO_VR_FLAG(pn->stack_prot);
|
||||
vrflag |= VR_MAXPROT_READ | VR_MAXPROT_WRITE | VR_MAXPROT_EXEC;
|
||||
|
||||
@ -2203,6 +2203,7 @@ SYSCALL_DECLARE(brk)
|
||||
#else /* POSTK_DEBUG_ARCH_DEP_60 */
|
||||
vrflag = VR_PROT_READ | VR_PROT_WRITE;
|
||||
#endif /* POSTK_DEBUG_ARCH_DEP_60 */
|
||||
vrflag |= VR_PRIVATE;
|
||||
vrflag |= VRFLAG_PROT_TO_MAXPROT(vrflag);
|
||||
old_brk_end_allocated = region->brk_end_allocated;
|
||||
ihk_mc_spinlock_lock_noirq(&cpu_local_var(current)->vm->memory_range_lock);
|
||||
|
||||
Reference in New Issue
Block a user