Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.24.4 /kernel/posix-timers.c

Filename:/kernel/posix-timers.c
Lines Added:8
Lines Deleted:17
Also changed in: (Previous) 2.6.24.3  2.6.24.3-rc1  2.6.24-git22  2.6.24-git21  2.6.24-git20  2.6.24-git19 
(Following) 2.6.24.5  2.6.24.6  2.6.24.7  2.6.25-rc7  2.6.25-rc8  2.6.25-rc9 

Location
[  2.6.24.4
  [  kernel
     o  posix-timers.c

Patch

diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c
index 35b4bbf..9076432 100644
--- a/kernel/posix-timers.c
+++ b/kernel/posix-timers.c
@@ -766,9 +766,11 @@ common_timer_set(struct k_itimer *timr, int flags,
    /* SIGEV_NONE timers are not queued ! See common_timer_get */
    if (((timr->it_sigev_notify & ~SIGEV_THREAD_ID) == SIGEV_NONE)) {
       /* Setup correct expiry time for relative timers */
-      if (mode == HRTIMER_MODE_REL)
-         timer->expires = ktime_add(timer->expires,
-                     timer->base->get_time());
+      if (mode == HRTIMER_MODE_REL) {
+         timer->expires =
+            ktime_add_safe(timer->expires,
+                      timer->base->get_time());
+      }
       return 0;
    }
 
@@ -981,20 +983,9 @@ sys_clock_getres(const clockid_t which_clock, struct timespec __user *tp)
 static int common_nsleep(const clockid_t which_clock, int flags,
           struct timespec *tsave, struct timespec __user *rmtp)
 {
-   struct timespec rmt;
-   int ret;
-
-   ret = hrtimer_nanosleep(tsave, rmtp ? &rmt : NULL,
-            flags & TIMER_ABSTIME ?
-            HRTIMER_MODE_ABS : HRTIMER_MODE_REL,
-            which_clock);
-
-   if (ret && rmtp) {
-      if (copy_to_user(rmtp, &rmt, sizeof(*rmtp)))
-         return -EFAULT;
-   }
-
-   return ret;
+   return hrtimer_nanosleep(tsave, rmtp, flags & TIMER_ABSTIME ?
+             HRTIMER_MODE_ABS : HRTIMER_MODE_REL,
+             which_clock);
 }
 
 asmlinkage long


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.