From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752990AbdJMSaj (ORCPT ); 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 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 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(-) 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); } -- 2.9.0