arch_clear_host_user_space: set zero to args[2]

to avoid duplicated per_proc_list entry.
This commit is contained in:
NAKAMURA Gou
2016-04-21 21:07:44 +09:00
parent 397bf3f4a6
commit e2e0fad849
3 changed files with 7 additions and 8 deletions

View File

@@ -137,14 +137,12 @@ int obtain_clone_cpuid() {
int int
arch_clear_host_user_space() arch_clear_host_user_space()
{ {
struct syscall_request request IHK_DMA_ALIGN; struct thread *th = cpu_local_var(current);
request.number = __NR_munmap; /* XXX: might be unnecessary */
request.args[0] = cpu_local_var(current)->vm->region.user_start; clear_host_pte(th->vm->region.user_start,
request.args[1] = cpu_local_var(current)->vm->region.user_end - (th->vm->region.user_end - th->vm->region.user_start));
cpu_local_var(current)->vm->region.user_start; return 0;
return do_syscall(&request, ihk_mc_get_processor_id(), 0);
} }
SYSCALL_DECLARE(rt_sigaction) SYSCALL_DECLARE(rt_sigaction)

View File

@@ -365,6 +365,7 @@ void reset_cputime();
void set_cputime(int mode); void set_cputime(int mode);
intptr_t do_mmap(intptr_t addr0, size_t len0, int prot, int flags, int fd, intptr_t do_mmap(intptr_t addr0, size_t len0, int prot, int flags, int fd,
off_t off0); off_t off0);
void clear_host_pte(uintptr_t addr, size_t len);
typedef int32_t key_t; typedef int32_t key_t;
int do_shmget(key_t key, size_t size, int shmflg); int do_shmget(key_t key, size_t size, int shmflg);
struct process_vm; struct process_vm;

View File

@@ -833,7 +833,7 @@ SYSCALL_DECLARE(exit_group)
return 0; 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; ihk_mc_user_context_t ctx;
long lerror; long lerror;