On Tuesday 12 May 2015 10:05:45 Baolin Wang wrote:
> On 12 May 2015 at 00:30, Arnd Bergmann <[email protected]> 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
_______________________________________________
Y2038 mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/y2038