Re: [PATCH v3 05/22] posix-timers:Convert to the 64bit methods for the timer_gettime syscall function

From: Arnd Bergmann
Date: Tue May 12 2015 - 03:33:28 EST


On Tuesday 12 May 2015 10:05:45 Baolin Wang wrote:
> On 12 May 2015 at 00:30, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> > On Monday 11 May 2015 19:15:14 Baolin Wang wrote:
> > > +static int default_timer_get64(struct k_itimer *timr,
> > > + struct itimerspec64 *cur_setting64)
> > > +{
> > > + struct itimerspec cur_setting;
> > > + struct k_clock *kc = clockid_to_kclock(timr->it_clock);
> > > +
> > > + kc->timer_get(timr, &cur_setting);
> > > + return 0;
> > > +}
> >
> > This function is unfortunately incorrect, because you never copy
> > the cur_setting value into cur_setting64.
> >
>
> Thanks for your comments. But i think this is just a temporary default
> function,
> and will be removed after all the drivers' conversion, so just ensure it
> won't
> cause the kernel crash.
>

No, that function has to do the right thing. The purpose of the function
is to keep the kernel working when only half the series is applied, this
is a fundamental part of how we do kernel development: Each patch in
you series needs to bring the kernel closer to what we want to have in
the end but not introduce bugs. Your current function stops the
timer_gettime() system call from working and makes it return uninitialized
kernel data.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/