Skip to content

Commit

Permalink
alarmtimer: Use EOPNOTSUPP instead of ENOTSUPP
Browse files Browse the repository at this point in the history
commit f18ddc1 upstream.

ENOTSUPP is not supposed to be returned to userspace. This was found on an
OpenPower machine, where the RTC does not support set_alarm.

On that system, a clock_nanosleep(CLOCK_REALTIME_ALARM, ...) results in
"524 Unknown error 524"

Replace it with EOPNOTSUPP which results in the expected "95 Operation not
supported" error.

Fixes: 1c6b39a (alarmtimers: Return -ENOTSUPP if no RTC device is present)
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20190903171802.28314-1-cascardo@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Thadeu Lima de Souza Cascardo authored and Greg Kroah-Hartman committed Oct 5, 2019
1 parent 8b49a40 commit c22df8e
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions kernel/time/alarmtimer.c
Original file line number Diff line number Diff line change
@@ -530,7 +530,7 @@ static int alarm_timer_create(struct k_itimer *new_timer)
struct alarm_base *base;

if (!alarmtimer_get_rtcdev())
return -ENOTSUPP;
return -EOPNOTSUPP;

if (!capable(CAP_WAKE_ALARM))
return -EPERM;
@@ -759,7 +759,7 @@ static int alarm_timer_nsleep(const clockid_t which_clock, int flags,
struct restart_block *restart;

if (!alarmtimer_get_rtcdev())
return -ENOTSUPP;
return -EOPNOTSUPP;

if (flags & ~TIMER_ABSTIME)
return -EINVAL;

0 comments on commit c22df8e

Please sign in to comment.