X-Git-Url: http://git.agner.ch/gitweb/?a=blobdiff_plain;f=kernel%2Ftime%2Ftime.c;h=887e7d505974c9c2475afa0447af1a062f7c9f94;hb=5fbaba8603d5bbc9e40bcb970bae64cb7e093755;hp=65015ff2f07c6a6ba6144bc79e6fb85883bdceb2;hpb=f2a5473861cf69c03d0f0ee5d0ea1b853b9e582e;p=linux-drm-fsl-dcu.git diff --git a/kernel/time/time.c b/kernel/time/time.c index 65015ff2f07c..887e7d505974 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; }