From b3b752ba419f0caf61f777d83ce2d90cfc6acc1a Mon Sep 17 00:00:00 2001 From: NAKAMURA Gou Date: Thu, 17 Sep 2015 21:37:48 +0900 Subject: [PATCH] nanosleep: use copy_from_user instead of direct access --- kernel/syscall.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/kernel/syscall.c b/kernel/syscall.c index cd002e25..067e6580 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -5031,16 +5031,15 @@ SYSCALL_DECLARE(nanosleep) unsigned long ts = rdtsc(); - /* Check validity of arguments */ if (copy_from_user(&_tv, tv, sizeof(*tv))) { return -EFAULT; } - if (tv->tv_sec < 0 || tv->tv_nsec >= NS_PER_SEC) { + if (_tv.tv_sec < 0 || _tv.tv_nsec >= NS_PER_SEC) { return -EINVAL; } - nanosecs = tv->tv_sec * NS_PER_SEC + tv->tv_nsec; + nanosecs = _tv.tv_sec * NS_PER_SEC + _tv.tv_nsec; tscs = nanosecs * 1000 / ihk_mc_get_ns_per_tsc(); /* Spin wait */