posix-timers: Zero settings value in common code
Zero out the settings struct in the common code so the callbacks do not have to do it themself. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: John Stultz <john.stultz@linaro.org> Link: http://lkml.kernel.org/r/20170530211657.200870713@linutronix.de
This commit is contained in:
parent
91d57bae08
commit
eabdec0438
|
@ -719,10 +719,8 @@ static void posix_cpu_timer_get(struct k_itimer *timer, struct itimerspec64 *itp
|
||||||
*/
|
*/
|
||||||
itp->it_interval = ns_to_timespec64(timer->it.cpu.incr);
|
itp->it_interval = ns_to_timespec64(timer->it.cpu.incr);
|
||||||
|
|
||||||
if (timer->it.cpu.expires == 0) { /* Timer not armed at all. */
|
if (!timer->it.cpu.expires)
|
||||||
itp->it_value.tv_sec = itp->it_value.tv_nsec = 0;
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sample the clock to take the difference with the expiry time.
|
* Sample the clock to take the difference with the expiry time.
|
||||||
|
@ -746,7 +744,6 @@ static void posix_cpu_timer_get(struct k_itimer *timer, struct itimerspec64 *itp
|
||||||
* Call the timer disarmed, nothing else to do.
|
* Call the timer disarmed, nothing else to do.
|
||||||
*/
|
*/
|
||||||
timer->it.cpu.expires = 0;
|
timer->it.cpu.expires = 0;
|
||||||
itp->it_value = ns_to_timespec64(timer->it.cpu.expires);
|
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
cpu_timer_sample_group(timer->it_clock, p, &now);
|
cpu_timer_sample_group(timer->it_clock, p, &now);
|
||||||
|
|
|
@ -645,8 +645,6 @@ common_timer_get(struct k_itimer *timr, struct itimerspec64 *cur_setting)
|
||||||
struct timespec64 ts64;
|
struct timespec64 ts64;
|
||||||
bool sig_none;
|
bool sig_none;
|
||||||
|
|
||||||
memset(cur_setting, 0, sizeof(*cur_setting));
|
|
||||||
|
|
||||||
sig_none = (timr->it_sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE;
|
sig_none = (timr->it_sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE;
|
||||||
iv = timr->it_interval;
|
iv = timr->it_interval;
|
||||||
|
|
||||||
|
@ -705,6 +703,7 @@ SYSCALL_DEFINE2(timer_gettime, timer_t, timer_id,
|
||||||
if (!timr)
|
if (!timr)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
memset(&cur_setting64, 0, sizeof(cur_setting64));
|
||||||
kc = timr->kclock;
|
kc = timr->kclock;
|
||||||
if (WARN_ON_ONCE(!kc || !kc->timer_get))
|
if (WARN_ON_ONCE(!kc || !kc->timer_get))
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
|
|
Loading…
Reference in New Issue