ntp: Remove redundant and incorrect parameter check
The ADJ_SETOFFSET code redundantly checks the range of the nanoseconds field of the time value. This field is checked again in the subsequent call to timekeeping_inject_offset(). Also, as is, the check will not detect whether the number of microseconds is out of range. Let timekeeping_inject_offset() do the error checking. Signed-off-by: Richard Cochran <richard.cochran@omicron.at> Cc: johnstul@us.ibm.com LKML-Reference: <20110218090724.GA2924@riccoc20.at.omicron.at> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
22b7fcdae5
commit
db1c1cce4a
|
@ -650,13 +650,13 @@ int do_adjtimex(struct timex *txc)
|
||||||
|
|
||||||
if (txc->modes & ADJ_SETOFFSET) {
|
if (txc->modes & ADJ_SETOFFSET) {
|
||||||
struct timespec delta;
|
struct timespec delta;
|
||||||
if ((unsigned long)txc->time.tv_usec >= NSEC_PER_SEC)
|
|
||||||
return -EINVAL;
|
|
||||||
delta.tv_sec = txc->time.tv_sec;
|
delta.tv_sec = txc->time.tv_sec;
|
||||||
delta.tv_nsec = txc->time.tv_usec;
|
delta.tv_nsec = txc->time.tv_usec;
|
||||||
if (!(txc->modes & ADJ_NANO))
|
if (!(txc->modes & ADJ_NANO))
|
||||||
delta.tv_nsec *= 1000;
|
delta.tv_nsec *= 1000;
|
||||||
timekeeping_inject_offset(&delta);
|
result = timekeeping_inject_offset(&delta);
|
||||||
|
if (result)
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
getnstimeofday(&ts);
|
getnstimeofday(&ts);
|
||||||
|
|
Loading…
Reference in New Issue