On 21 April 2015 at 04:48, Thomas Gleixner <t...@linutronix.de> wrote:
> On Mon, 20 Apr 2015, Baolin Wang wrote: > > /* Set clock_realtime */ > > static int posix_clock_realtime_set(const clockid_t which_clock, > > - const struct timespec *tp) > > + const struct timespec64 *tp) > > { > > - return do_sys_settimeofday(tp, NULL); > > + struct timespec ts = timespec64_to_timespec(*tp); > > + > > + return do_sys_settimeofday(&ts, NULL); > > Sigh. No. We first provide a proper function for this, which takes a > timespec64, i.e. do_sys_settimeofday64() instead of having this > wrapper mess all over the place. > Thanks for your comments,but if use do_sys_settimeofday64() here that will introduce a security bug: do_sys_settimeofday contains a capability check that normally prevents non-root users from setting the time. With your change, any user can set the system time. > > > /* SIGEV_NONE timers are not queued ! See common_timer_get */ > > if (((timr->it_sigev_notify & ~SIGEV_THREAD_ID) == SIGEV_NONE)) { > > diff --git a/kernel/time/timekeeping.h b/kernel/time/timekeeping.h > > index 1d91416..144af14 100644 > > --- a/kernel/time/timekeeping.h > > +++ b/kernel/time/timekeeping.h > > @@ -15,7 +15,7 @@ extern u64 timekeeping_max_deferment(void); > > extern int timekeeping_inject_offset(struct timespec *ts); > > extern s32 timekeeping_get_tai_offset(void); > > extern void timekeeping_set_tai_offset(s32 tai_offset); > > -extern void timekeeping_clocktai(struct timespec *ts); > > +extern void timekeeping_clocktai(struct timespec64 *ts); > > # git grep timekeeping_clocktai() is your friend. > > Thanks, > > tglx > -- Baolin.wang Best Regards
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev