diff options
author | Arnd Bergmann <arnd@arndb.de> | 2019-11-25 21:25:46 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2019-11-25 21:52:35 +0100 |
commit | b111df8447acdeb4b9220f99d5d4b28f83eb56ad (patch) | |
tree | 4aa99f9b867106165591f5b748d14eccf782b02a | |
parent | af3784689e2b2741918e69f1ce5f0ecb7933b300 (diff) | |
download | linux-b111df8447acdeb4b9220f99d5d4b28f83eb56ad.tar.bz2 |
y2038: alarm: fix half-second cut-off
Changing alarm_itimer accidentally broke the logic for arithmetic
rounding of half seconds in the return code.
Change it to a constant based on NSEC_PER_SEC, as suggested by
Ben Hutchings.
Fixes: bd40a175769d ("y2038: itimer: change implementation to timespec64")
Reported-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | kernel/time/itimer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/itimer.c b/kernel/time/itimer.c index 5872db9bd5f7..9e59c9ea92aa 100644 --- a/kernel/time/itimer.c +++ b/kernel/time/itimer.c @@ -297,7 +297,7 @@ static unsigned int alarm_setitimer(unsigned int seconds) * better return too much than too little anyway */ if ((!it_old.it_value.tv_sec && it_old.it_value.tv_nsec) || - it_old.it_value.tv_nsec >= 500000) + it_old.it_value.tv_nsec >= (NSEC_PER_SEC / 2)) it_old.it_value.tv_sec++; return it_old.it_value.tv_sec; |