fix REQ-40
This commit is contained in:
@ -2083,6 +2083,7 @@ release_process_vm(struct process_vm *vm)
|
||||
if(vm->free_cb)
|
||||
vm->free_cb(vm, vm->opt);
|
||||
|
||||
flush_nfo_tlb_mm(vm);
|
||||
free_all_process_memory_range(vm);
|
||||
|
||||
detach_address_space(vm->address_space, vm->proc->pid);
|
||||
|
||||
@ -973,6 +973,8 @@ do_mmap(const intptr_t addr0, const size_t len0, const int prot,
|
||||
}
|
||||
}
|
||||
|
||||
flush_nfo_tlb();
|
||||
|
||||
ihk_mc_spinlock_lock_noirq(&thread->vm->memory_range_lock);
|
||||
|
||||
if (flags & MAP_FIXED) {
|
||||
@ -1258,6 +1260,8 @@ SYSCALL_DECLARE(mprotect)
|
||||
return 0;
|
||||
}
|
||||
|
||||
flush_nfo_tlb();
|
||||
|
||||
ihk_mc_spinlock_lock_noirq(&thread->vm->memory_range_lock);
|
||||
|
||||
first = lookup_process_memory_range(thread->vm, start, start+PAGE_SIZE);
|
||||
@ -1364,6 +1368,8 @@ SYSCALL_DECLARE(brk)
|
||||
dkprintf("SC(%d)[sys_brk] brk_start=%lx,end=%lx\n",
|
||||
ihk_mc_get_processor_id(), region->brk_start, region->brk_end);
|
||||
|
||||
flush_nfo_tlb();
|
||||
|
||||
/* brk change fail, including glibc trick brk(0) to obtain current brk */
|
||||
if(address < region->brk_start) {
|
||||
r = region->brk_end;
|
||||
@ -6354,6 +6360,8 @@ SYSCALL_DECLARE(remap_file_pages)
|
||||
goto out;
|
||||
}
|
||||
|
||||
flush_nfo_tlb();
|
||||
|
||||
range->flag |= VR_FILEOFF;
|
||||
error = remap_process_memory_range(thread->vm, range, start, end, off);
|
||||
if (error) {
|
||||
|
||||
Reference in New Issue
Block a user