alarmtimer: Fix bug where relative alarm timers were treated as absolute
authorJohn Stultz <john.stultz@linaro.org>
Mon, 7 Jul 2014 21:06:11 +0000 (14:06 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 8 Jul 2014 08:49:36 +0000 (10:49 +0200)
commit16927776ae757d0d132bdbfabbfe2c498342bd59
tree9608fa444a62755d08247f66191c1f36e2ee4fca
parente1a08b855f56d6528e7f85aae9ca8123f4c3ae04
alarmtimer: Fix bug where relative alarm timers were treated as absolute

Sharvil noticed with the posix timer_settime interface, using the
CLOCK_REALTIME_ALARM or CLOCK_BOOTTIME_ALARM clockid, if the users
tried to specify a relative time timer, it would incorrectly be
treated as absolute regardless of the state of the flags argument.

This patch corrects this, properly checking the absolute/relative flag,
as well as adds further error checking that no invalid flag bits are set.

Reported-by: Sharvil Nanavati <sharvil@google.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Sharvil Nanavati <sharvil@google.com>
Cc: stable <stable@vger.kernel.org> #3.0+
Link: http://lkml.kernel.org/r/1404767171-6902-1-git-send-email-john.stultz@linaro.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/time/alarmtimer.c