From patchwork Thu Feb 16 14:38:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 728795 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3vPLbQ1YNYz9s8c for ; Fri, 17 Feb 2017 03:05:22 +1100 (AEDT) Received: from localhost ([::1]:47547 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceOYZ-0000xh-Jl for incoming@patchwork.ozlabs.org; Thu, 16 Feb 2017 11:05:19 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53851) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceNCo-0000lB-FT for qemu-devel@nongnu.org; Thu, 16 Feb 2017 09:38:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ceNCj-0002Mx-NN for qemu-devel@nongnu.org; Thu, 16 Feb 2017 09:38:46 -0500 Received: from mout.kundenserver.de ([217.72.192.74]:50888) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ceNCj-0002MS-DD for qemu-devel@nongnu.org; Thu, 16 Feb 2017 09:38:41 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue101 [212.227.15.183]) with ESMTPSA (Nemesis) id 0MEmRm-1ccfJA17D0-00G0US; Thu, 16 Feb 2017 15:38:26 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 16 Feb 2017 15:38:12 +0100 Message-Id: <20170216143816.2384-11-laurent@vivier.eu> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170216143816.2384-1-laurent@vivier.eu> References: <20170216143816.2384-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K0:V+rijGOHTx/2oGWQiDPWhAQcGyJIXylKLW3mQ+htSc/NEd9l0pZ LdRq4TwmEKrbmkiz45R5CKzBruXyphXopytkB1+rESDGtOqeYGnYP6vrRYqK2P9kvkS1Nk2 volMxuDHNNfmBB3ADTtbZ1Ek0I7p2umPDhMwSjiqSe0lelfwlilwxop9xe76GaRL7XKKf32 0r7LhcngH+z5TK1Z/6h1A== X-UI-Out-Filterresults: notjunk:1; V01:K0:0VCRPgP4wSk=:MKjfF9C7l5BEnHJv4Ohu/B 44TBq0TrrBYzWIAbRGBCU4T4DnPb4ILTc3IaoFJIpagjyZD3dHKmNds2X2ID4fpyFDq2vSGea kbPeDodk7eTPV9H/2/ApEph9n+7TS2CmY0mlld0Tw1PwAHuVnw5Y0miJsJKFItMM/EhCTT7mZ DjjQZW82RMNs6J13Rw3Br1P4bCnDG5ucEfpPd6LN1OhpiSUDlUeffHKtiW2CK+vmSPSHXcqbI S+vxSdtBwlbhbIfflc522jHzczZEZL59NxWzQv3kc5i4+zIJIkkSaw1ZPue9polMqvHXjvOIf TBGSWC7imU1H2uBNqOn68pTaGAPv3SHl7vxVoE0kYsRD+AyW76RkvB5q8U6KvwJGBKYpr45TP ky1iLcjL6FBN872wYYXI4hFG/kuc2hDeRAvOvVHIGHLqiZh/ni5N3Cpq6+LZ50toYv3ac4MhK xgCcnx6wqpPuXnuw/488yq8uKH2Xur/AMnLeLJhk8Zqk34GPVeyDu8f+hGn5wZ8f08gzPkajf wuj0+iez7Ka+X/1+AN/27FLhQpF1Qq9J14MaXJR8Ca0IFJZ6rlWU1bKsjN3xNPOd4K+0we6lq dRIvC6PdjxU6fVotxpsUmYKmkFmru5fMnsua0dJGUoi8motEyy9StABSoQ+oKo8Q3WHouehsX oQieeIYhj6+h87VlivajKgdsdjHP5Ep0DvA1cbYkyerBO86nLoeSjQ+kunvHbCkpuAeAIG++3 1UprZdq8W4EYxk9F X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.74 Subject: [Qemu-devel] [PULL v2 10/14] linux-user: fix settime old value location X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Pranith Kumar , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Marc-André Lureau old_value is the 4th argument of timer_settime(), not the 2nd. Signed-off-by: Marc-André Lureau Signed-off-by: Pranith Kumar Reviewed-by: Laurent Vivier Message-Id: <20170119151533.29328-1-bobby.prani@gmail.com> Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index d982a27..f569f82 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -12043,10 +12043,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, timer_t htimer = g_posix_timers[timerid]; struct itimerspec hspec_new = {{0},}, hspec_old = {{0},}; - target_to_host_itimerspec(&hspec_new, arg3); + if (target_to_host_itimerspec(&hspec_new, arg3)) { + goto efault; + } ret = get_errno( timer_settime(htimer, arg2, &hspec_new, &hspec_old)); - host_to_target_itimerspec(arg2, &hspec_old); + if (arg4 && host_to_target_itimerspec(arg4, &hspec_old)) { + goto efault; + } } break; }