time: settimeofday: Validate the values of tv from user
authorSasha Levin <sasha.levin@oracle.com>
Thu, 4 Dec 2014 00:22:48 +0000 (19:22 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 20 Feb 2015 00:49:34 +0000 (00:49 +0000)
commit1751fde0bb621f9d05dc76c7a0045b70b88918c2
tree75a72707a206e6c691cd2ce4652f019ea24d1432
parentee368a2c5ed1806a6cbdcddadac86cbb3816d2f5
time: settimeofday: Validate the values of tv from user

commit 6ada1fc0e1c4775de0e043e1bd3ae9d065491aa5 upstream.

An unvalidated user input is multiplied by a constant, which can result in
an undefined behaviour for large values. While this is validated later,
we should avoid triggering undefined behaviour.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
[jstultz: include trivial milisecond->microsecond correction noticed
by Andy]
Signed-off-by: John Stultz <john.stultz@linaro.org>
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
include/linux/time.h
kernel/time.c