summaryrefslogtreecommitdiffstats
path: root/kernel/time
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-06-12 17:21:26 +0200
committerThomas Gleixner <tglx@linutronix.de>2017-06-12 17:29:07 +0200
commitc6503be587e9c5c0aac4e2b45de982352f676a5b (patch)
treeacea8512d9baf40b3820c00209bccbebd1ea9a22 /kernel/time
parentf2c45807d3992fe0f173f34af9c347d907c31686 (diff)
downloadlinux-stable-c6503be587e9c5c0aac4e2b45de982352f676a5b.tar.gz
linux-stable-c6503be587e9c5c0aac4e2b45de982352f676a5b.tar.bz2
linux-stable-c6503be587e9c5c0aac4e2b45de982352f676a5b.zip
posix-timers: Fix inverted SIGEV_NONE logic in common_timer_get()
The refactoring of the posix-timer core to allow better code sharing introduced inverted logic vs. SIGEV_NONE timers in common_timer_get(). That causes hrtimer_forward() to be called on active timers, which rightfully triggers the warning hrtimer_forward(). Make sig_none what it says: signal mode == SIGEV_NONE. Fixes: 91d57bae0868 ("posix-timers: Make use of forward/remaining callbacks") Reported-by: Ye Xiaolong <xiaolong.ye@intel.com> 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/20170609104457.GA39907@inn.lkp.intel.com
Diffstat (limited to 'kernel/time')
-rw-r--r--kernel/time/posix-timers.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
index 6e7a70b1bf37..b53a0b562516 100644
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@ -644,7 +644,7 @@ void common_timer_get(struct k_itimer *timr, struct itimerspec64 *cur_setting)
struct timespec64 ts64;
bool sig_none;
- 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;
/* interval timer ? */