Thread (12 messages) 12 messages, 6 authors, 2010-08-27

Re: [PATCH 1/1] posix clocks: introduce syscall for clock tuning.

flat view

From: Richard Cochran <richardcochran@gmail.com>
Date: 2010-08-23 08:55:15
Also in: lkml

On Mon, Aug 23, 2010 at 10:25:35AM +0200, Bert Wesarg wrote:
On Mon, Aug 23, 2010 at 10:16, Richard Cochran [off-list ref] wrote:
quoted
diff --git a/kernel/compat.c b/kernel/compat.c
index 5adab05..df1e469 100644
--- a/kernel/compat.c
+++ b/kernel/compat.c
@@ -628,6 +628,26 @@ long compat_sys_clock_gettime(clockid_t which_clock,
       return err;
 }

+long compat_sys_clock_adjtime(clockid_t which_clock, int ppb,
+               struct compat_timespec __user *tp)
+{
+       long err;
+       mm_segment_t oldfs;
+       struct timespec ts, *ptr = NULL;
Shouldn't ptr be initialized with tp?
It could be, but the logic turns out the same either way. The
semantics of the call is, if 'tp' is NULL, then adjust the frequency
by 'ppb', otherwise adjust clock time by 'tp'.
quoted
+
+       if (tp) {
+               if (get_compat_timespec(&ts, tp))
+                       return -EFAULT;
+               ptr = &ts;
+       }
+       oldfs = get_fs();
+       set_fs(KERNEL_DS);
+       err = sys_clock_adjtime(which_clock, ppb,
+                               (struct timespec __user *) ptr);
+       set_fs(oldfs);
+       return err;
+}
+
 long compat_sys_clock_getres(clockid_t which_clock,
               struct compat_timespec __user *tp)
 {
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help