Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH v3 05/22] posix-timers:Convert to the 64bit methods for the timer_gettime syscall function | Date | Tue, 12 May 2015 09:33:18 +0200 |
| |
On Tuesday 12 May 2015 10:05:45 Baolin Wang wrote: > On 12 May 2015 at 00:30, Arnd Bergmann <arnd@arndb.de> 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
| |