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
|
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)
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user