From 2819ec2197c43784e00c76930841bed36ed809f2 Mon Sep 17 00:00:00 2001 From: NAKAMURA Gou Date: Wed, 6 Jan 2016 20:50:50 +0900 Subject: [PATCH] fix extra copy which might cause page faults --- kernel/host.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/host.c b/kernel/host.c index 15578980..613a65ff 100644 --- a/kernel/host.c +++ b/kernel/host.c @@ -244,7 +244,7 @@ int prepare_process_ranges_args_envs(struct thread *thread, dkprintf("args copy, nr: %d\n", *((int*)args_envs_r)); - memcpy_long(args_envs, args_envs_r, p->args_len + 8); + memcpy_long(args_envs, args_envs_r, p->args_len + sizeof(long) - 1); /* Only unmap remote address if it wasn't specified as an argument */ if (!args) { @@ -279,7 +279,7 @@ int prepare_process_ranges_args_envs(struct thread *thread, dkprintf("envs copy, nr: %d\n", *((int*)args_envs_r)); - memcpy_long(args_envs + p->args_len, args_envs_r, p->envs_len + 8); + memcpy_long(args_envs + p->args_len, args_envs_r, p->envs_len + sizeof(long) - 1); /* Only map remote address if it wasn't specified as an argument */ if (!envs) {