Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eabdec04 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

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: default avatarThomas 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
parent 91d57bae
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -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);

	if (timer->it.cpu.expires == 0) {	/* Timer not armed at all.  */
		itp->it_value.tv_sec = itp->it_value.tv_nsec = 0;
	if (!timer->it.cpu.expires)
		return;
	}

	/*
	 * 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.
			 */
			timer->it.cpu.expires = 0;
			itp->it_value = ns_to_timespec64(timer->it.cpu.expires);
			return;
		} else {
			cpu_timer_sample_group(timer->it_clock, p, &now);
+1 −2
Original line number Diff line number Diff line
@@ -645,8 +645,6 @@ common_timer_get(struct k_itimer *timr, struct itimerspec64 *cur_setting)
	struct timespec64 ts64;
	bool sig_none;

	memset(cur_setting, 0, sizeof(*cur_setting));

	sig_none = (timr->it_sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE;
	iv = timr->it_interval;

@@ -705,6 +703,7 @@ SYSCALL_DEFINE2(timer_gettime, timer_t, timer_id,
	if (!timr)
		return -EINVAL;

	memset(&cur_setting64, 0, sizeof(cur_setting64));
	kc = timr->kclock;
	if (WARN_ON_ONCE(!kc || !kc->timer_get))
		ret = -EINVAL;