arch_clear_host_user_space: set zero to args[2]
to avoid duplicated per_proc_list entry.
This commit is contained in:
@ -137,14 +137,12 @@ int obtain_clone_cpuid() {
|
||||
int
|
||||
arch_clear_host_user_space()
|
||||
{
|
||||
struct syscall_request request IHK_DMA_ALIGN;
|
||||
struct thread *th = cpu_local_var(current);
|
||||
|
||||
request.number = __NR_munmap;
|
||||
request.args[0] = cpu_local_var(current)->vm->region.user_start;
|
||||
request.args[1] = cpu_local_var(current)->vm->region.user_end -
|
||||
cpu_local_var(current)->vm->region.user_start;
|
||||
|
||||
return do_syscall(&request, ihk_mc_get_processor_id(), 0);
|
||||
/* XXX: might be unnecessary */
|
||||
clear_host_pte(th->vm->region.user_start,
|
||||
(th->vm->region.user_end - th->vm->region.user_start));
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYSCALL_DECLARE(rt_sigaction)
|
||||
|
||||
@ -365,6 +365,7 @@ void reset_cputime();
|
||||
void set_cputime(int mode);
|
||||
intptr_t do_mmap(intptr_t addr0, size_t len0, int prot, int flags, int fd,
|
||||
off_t off0);
|
||||
void clear_host_pte(uintptr_t addr, size_t len);
|
||||
typedef int32_t key_t;
|
||||
int do_shmget(key_t key, size_t size, int shmflg);
|
||||
struct process_vm;
|
||||
|
||||
@ -833,7 +833,7 @@ SYSCALL_DECLARE(exit_group)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void clear_host_pte(uintptr_t addr, size_t len)
|
||||
void clear_host_pte(uintptr_t addr, size_t len)
|
||||
{
|
||||
ihk_mc_user_context_t ctx;
|
||||
long lerror;
|
||||
|
||||
Reference in New Issue
Block a user