diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-01-25 17:47:34 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-01-25 17:47:34 -0800 |
commit | b73f0c8f4ba810cd753031d18f4fab83bd9ac58f (patch) | |
tree | 672a387d9ae5844a8ffbcab3c7e7c8a3f285ab17 /kernel/time/time.c | |
parent | 71a59b12727316f6d3c1cf4335bc2eaecb86da25 (diff) | |
parent | 5fbaba8603d5bbc9e40bcb970bae64cb7e093755 (diff) | |
download | linux-b73f0c8f4ba810cd753031d18f4fab83bd9ac58f.tar.bz2 |
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fixes from Thomas Gleixner:
"A set of small fixes:
- regression fix for exynos_mct clocksource
- trivial build fix for kona clocksource
- functional one liner fix for the sh_tmu clocksource
- two validation fixes to prevent (root only) data corruption in the
kernel via settimeofday and adjtimex. Tagged for stable"
* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
time: adjtimex: Validate the ADJ_FREQUENCY values
time: settimeofday: Validate the values of tv from user
clocksource: sh_tmu: Set cpu_possible_mask to fix SMP broadcast
clocksource: kona: fix __iomem annotation
clocksource: exynos_mct: Fix bitmask regression for exynos4_mct_write
Diffstat (limited to 'kernel/time/time.c')
-rw-r--r-- | kernel/time/time.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/time/time.c b/kernel/time/time.c index 6390517e77d4..2c85b7724af4 100644 --- a/kernel/time/time.c +++ b/kernel/time/time.c @@ -196,6 +196,10 @@ SYSCALL_DEFINE2(settimeofday, struct timeval __user *, tv, if (tv) { if (copy_from_user(&user_tv, tv, sizeof(*tv))) return -EFAULT; + + if (!timeval_valid(&user_tv)) + return -EINVAL; + new_ts.tv_sec = user_tv.tv_sec; new_ts.tv_nsec = user_tv.tv_usec * NSEC_PER_USEC; } |