diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-09-14 17:37:40 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-09-15 04:17:30 -0400 |
commit | 12e09337fe238981cb0c87543306e23775d1a143 (patch) | |
tree | 4c5052a801e6868ce2c701af10bf55f5ec5a4929 /kernel/timer.c | |
parent | 54a6bc0b071c50150bc6d1da16c2cd9a963e288c (diff) |
time: Prevent 32 bit overflow with set_normalized_timespec()
set_normalized_timespec() nsec argument is of type long. The recent
timekeeping changes of ktime_get_ts() feed
ts->tv_nsec + tomono.tv_nsec + nsecs
to set_normalized_timespec(). On 32 bit machines that sum can be
larger than (1 << 31) and therefor result in a negative value which
screws up the result completely.
Make the nsec argument of set_normalized_timespec() s64 to fix the
problem at hand. This also prevents similar problems for future users
of set_normalized_timespec().
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Carsten Emde <carsten.emde@osadl.org>
LKML-Reference: <new-submission>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: John Stultz <johnstul@us.ibm.com>
Diffstat (limited to 'kernel/timer.c')
0 files changed, 0 insertions, 0 deletions