Re: [PATCH 05/11] time/posix-timers:Convert to the 64bit methods for k_clock callback functions

Baolin Wang
2015-04-21T08:36:13Z

[-- Attachment #1.1: Type: text/plain, Size: 1765 bytes --]

On 21 April 2015 at 04:48, Thomas Gleixner <tglx@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

[-- Attachment #1.2: Type: text/html, Size: 3026 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org