From patchwork Fri Oct 13 18:29:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 115821 Delivered-To: patch@linaro.org Received: by 10.140.22.163 with SMTP id 32csp1034379qgn; Fri, 13 Oct 2017 11:30:40 -0700 (PDT) X-Google-Smtp-Source: AOwi7QBmFYGwmSUczKcxEb6aFXxa4UmtvXbSC6RuU45BOmMLl55vz+d0r1dbWF5osLpr6Odql/pV X-Received: by 10.99.125.23 with SMTP id y23mr2042222pgc.333.1507919440507; Fri, 13 Oct 2017 11:30:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507919440; cv=none; d=google.com; s=arc-20160816; b=taD9IYAhm9Avo4CoYpCc9k+Fej2FfwIrFTs/EpAcTB5dwLfxZxQF4aJvVToe/4o28Y j2B8OXXm5nR/J8T/KK7tvHxYCq3OyUcPXHkelvVPK7X1KqXm+j/bgNzpeCGBQk8jNCSq KlGXaEc5iVmffXq5gAjysdwGM470bPYZLli7Yl51WOpbGiwTULc4gOceq4hyK2PSU+f9 4lhyjeRnjU0QAJhmYnuQpJy6AwWExYnshDrHlBdzsvhV7PrPvQFcTIR39k58MgiBd4fU 76JWk0070W6ey7X3uOPI+u3PZEq5wRRyCftZR4NQkhgWlFGrC/J6Sx/mq6Pf9hFs7fuq 90GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=WCdiCPKQ46KrR5tMBJ5wT8THpTqaomjUPAitcFPeSRI=; b=yxcZJccZ9ah/XqhkPchkVISYeEKBND8qm29s5TKNpSQ4kyC9/BG7wbocvfgDvOWVxx L17bEPoojoYNBF5idt0hy6eoQ8Xcei0ENZRNJcBj2bIYbzZ6+EqT+KhPb1m9QLaqtdNv 9swr5faCJNhPE6/CXaxCRT7XSr3ZPMS4rH/4OhD6rT2Dx4BTw0WcgSdVGwOYOHvDwmDw 55BogUAx3RURmG0xjKdZEWsCCZ0drxjfrDy+Rrsyj8JIaDiJPTzqS2MUQnkNGhMz8RAs ce2sX5fsi+Yue/1/bGZh5PzeUkLdW9OoQ42j/5ClBBlW061rVV8T073/O5AD30eehDio nkEw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f2si865576pgp.482.2017.10.13.11.30.40; Fri, 13 Oct 2017 11:30:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752993AbdJMSaj (ORCPT + 27 others); Fri, 13 Oct 2017 14:30:39 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:49426 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751921AbdJMSag (ORCPT ); Fri, 13 Oct 2017 14:30:36 -0400 Received: from wuerfel.lan ([46.223.139.202]) by mrelayeu.kundenserver.de (mreue101 [212.227.15.145]) with ESMTPA (Nemesis) id 0Lu5Go-1d5Mbl2Amk-011Trz; Fri, 13 Oct 2017 20:30:27 +0200 From: Arnd Bergmann To: Thomas Gleixner Cc: y2038@lists.linaro.org, Arnd Bergmann , Al Viro , Deepa Dinamani , John Stultz , Nicolas Pitre , linux-kernel@vger.kernel.org Subject: [PATCH] posix-stubs: use get_timespec64() and put_timespec64() Date: Fri, 13 Oct 2017 20:29:38 +0200 Message-Id: <20171013183009.3442318-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:IymCilTltyrRa2N1UcDbcCT4J8612hJjFkc5SqQyeztagb/mSRQ BieBIbEdtVDZqh9GEaUJRM16pu2Xu8gyNSS6ORZdPw874m+Ik7hrycq3UbCARbhukysaFbN zQGmtDeyGgOIs2uojMKFI8Lp3p9m/CsBLsFN900vMwhBWzMta+m6lLCy93zjIYqXR3DIfWL 0LwEdcBdevJ885taQkLGQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:xduYCxLFHTU=:CrHw9Q2fRRCmHJRG4mpara b0xLlHhF3YJpX17atzinXvBxHjq6JsS40u/kN4CWurDy7MvfF5Rbk2N4aHxt1XrkH7Ul2X+2N uHzKzyVb/IHjyvFsBSGacTtud7WxF16lMjyAcsjpzRPqLXaAgM8tWUGhaSzdKjR+ffpKh9/Zu l2ZY5cgsu4VHARGye8jlZg9yA0E60IpMSOT7vFyS6X2oQ2qmp/i8Q3Sx2dxtavwexAmi5xX9N mUVe86f+hvc9Nim1b4EdODbDcUrC314sHR/EMVv9OjXLsQAvv2VnqvUaorQzGUEwrzGwob7H8 HRkxj8sACtqCeU2cYafn5D7MlIM5RKKimGQ9vs2Lhlsf0xuyXGPEYT/YfycjQSJn9kDMYIHq+ Qt72KQk76AyKBkvDfGNN3M+HiUzLfJNv9kGRIi6vX2q5oNE1BMl2MCBI/Eyg5zm9JOn/SidOz gVI6RJofCr9kburrXm/SkCLDAN4Oj2Ubfs1ihSo0FdfBRODcHUKJBTA5LDR23L4jQQr63J09k n6jsXsHYrbJkUno7hQ9z4gTAVDgK05INPD+krtZRkLvdBXBEQBAhjroo4guDqVEzQ6hhbRmCg ZDY1MuOC7/Litxwx4WDaJgLIM+ZREYGTMEjoT7X7tF8jEPyA6/KwIiKvVhqwftlsUDRdZQLYX 9aAJvdNymok4scDWuWn+RQj7Y7/X3ElZZt3hQXDhOZX+s8o2PhlfJbbg7qmGH9Rx64WVdjGPB LLP0twA/My38HTVjR9dQzMQUhhRWdhD/elhqVA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a follow-up to commit 5c4994102fb5 ("posix-timers: Use get_timespec64() and put_timespec64()"), which left two system call using copy_from_user()/copy_to_user(). We can change them as well for consistency. Signed-off-by: Arnd Bergmann --- kernel/time/posix-stubs.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) -- 2.9.0 Acked-by: Nicolas Pitre diff --git a/kernel/time/posix-stubs.c b/kernel/time/posix-stubs.c index 06f34feb635e..b258bee13b02 100644 --- a/kernel/time/posix-stubs.c +++ b/kernel/time/posix-stubs.c @@ -117,8 +117,7 @@ SYSCALL_DEFINE4(clock_nanosleep, const clockid_t, which_clock, int, flags, const struct timespec __user *, rqtp, struct timespec __user *, rmtp) { - struct timespec64 t64; - struct timespec t; + struct timespec64 t; switch (which_clock) { case CLOCK_REALTIME: @@ -129,16 +128,15 @@ SYSCALL_DEFINE4(clock_nanosleep, const clockid_t, which_clock, int, flags, return -EINVAL; } - if (copy_from_user(&t, rqtp, sizeof (struct timespec))) + if (get_timespec64(&t, rqtp)) return -EFAULT; - t64 = timespec_to_timespec64(t); - if (!timespec64_valid(&t64)) + if (!timespec64_valid(&t)) return -EINVAL; if (flags & TIMER_ABSTIME) rmtp = NULL; current->restart_block.nanosleep.type = rmtp ? TT_NATIVE : TT_NONE; current->restart_block.nanosleep.rmtp = rmtp; - return hrtimer_nanosleep(&t64, flags & TIMER_ABSTIME ? + return hrtimer_nanosleep(&t, flags & TIMER_ABSTIME ? HRTIMER_MODE_ABS : HRTIMER_MODE_REL, which_clock); } @@ -203,8 +201,7 @@ COMPAT_SYSCALL_DEFINE4(clock_nanosleep, clockid_t, which_clock, int, flags, struct compat_timespec __user *, rqtp, struct compat_timespec __user *, rmtp) { - struct timespec64 t64; - struct timespec t; + struct timespec64 t; switch (which_clock) { case CLOCK_REALTIME: @@ -215,16 +212,15 @@ COMPAT_SYSCALL_DEFINE4(clock_nanosleep, clockid_t, which_clock, int, flags, return -EINVAL; } - if (compat_get_timespec(&t, rqtp)) + if (compat_get_timespec64(&t, rqtp)) return -EFAULT; - t64 = timespec_to_timespec64(t); - if (!timespec64_valid(&t64)) + if (!timespec64_valid(&t)) return -EINVAL; if (flags & TIMER_ABSTIME) rmtp = NULL; current->restart_block.nanosleep.type = rmtp ? TT_COMPAT : TT_NONE; current->restart_block.nanosleep.compat_rmtp = rmtp; - return hrtimer_nanosleep(&t64, flags & TIMER_ABSTIME ? + return hrtimer_nanosleep(&t, flags & TIMER_ABSTIME ? HRTIMER_MODE_ABS : HRTIMER_MODE_REL, which_clock); }