From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Kgg6u-0007Ur-Cv for qemu-devel@nongnu.org; Fri, 19 Sep 2008 09:33:24 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Kgg6t-0007Ud-Oq for qemu-devel@nongnu.org; Fri, 19 Sep 2008 09:33:23 -0400 Received: from [199.232.76.173] (port=55636 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kgg6t-0007Ua-Jy for qemu-devel@nongnu.org; Fri, 19 Sep 2008 09:33:23 -0400 Received: from [84.20.150.76] (port=57850 helo=narury.org) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Kgg6t-0002dm-PX for qemu-devel@nongnu.org; Fri, 19 Sep 2008 09:33:23 -0400 Received: from kos.to (localhost.localdomain [127.0.0.1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by narury.org (Postfix) with ESMTP id 8A5DD327400F for ; Fri, 19 Sep 2008 16:33:18 +0300 (EEST) Date: Fri, 19 Sep 2008 16:33:18 +0300 From: Riku Voipio Message-ID: <20080919133318.GA19882@kos.to> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH] Add mincore syscall Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Signed-off-by: Riku Voipio --- linux-user/syscall.c | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 8e6e735..cb75c94 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -5574,7 +5574,19 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, goto unimplemented; #ifdef TARGET_NR_mincore case TARGET_NR_mincore: - goto unimplemented; + { + void *a; + ret = -TARGET_EFAULT; + if (!(a = lock_user(VERIFY_READ, arg1,arg2, 0))) + goto efault; + if (!(p = lock_user_string(arg3))) + goto mincore_fail; + ret = get_errno(mincore(a, arg2, p)); + unlock_user(p, arg3, ret); + mincore_fail: + unlock_user(a, arg1, 0); + } + break; #endif #ifdef TARGET_NR_fadvise64_64 case TARGET_NR_fadvise64_64: -- 1.5.6.5 -- "rm -rf" only sounds scary if you don't have backups