mirror of https://gitee.com/openkylin/linux.git
ntp: Move timex validation to timekeeping do_adjtimex call.
Move logic that does not need the ntp state to be done in the timekeeping do_adjtimex() call. Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Richard Cochran <richardcochran@gmail.com> Cc: Prarit Bhargava <prarit@redhat.com> Signed-off-by: John Stultz <john.stultz@linaro.org>
This commit is contained in:
parent
aa6f9c595d
commit
e4085693f6
|
@ -668,11 +668,6 @@ int __do_adjtimex(struct timex *txc)
|
||||||
u32 time_tai, orig_tai;
|
u32 time_tai, orig_tai;
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
/* Validate the data before disabling interrupts */
|
|
||||||
result = ntp_validate_timex(txc);
|
|
||||||
if (result)
|
|
||||||
return result;
|
|
||||||
|
|
||||||
if (txc->modes & ADJ_SETOFFSET) {
|
if (txc->modes & ADJ_SETOFFSET) {
|
||||||
struct timespec delta;
|
struct timespec delta;
|
||||||
delta.tv_sec = txc->time.tv_sec;
|
delta.tv_sec = txc->time.tv_sec;
|
||||||
|
|
|
@ -6,6 +6,7 @@ extern void ntp_clear(void);
|
||||||
/* Returns how long ticks are at present, in ns / 2^NTP_SCALE_SHIFT. */
|
/* Returns how long ticks are at present, in ns / 2^NTP_SCALE_SHIFT. */
|
||||||
extern u64 ntp_tick_length(void);
|
extern u64 ntp_tick_length(void);
|
||||||
extern int second_overflow(unsigned long secs);
|
extern int second_overflow(unsigned long secs);
|
||||||
|
extern int ntp_validate_timex(struct timex *);
|
||||||
extern int __do_adjtimex(struct timex *);
|
extern int __do_adjtimex(struct timex *);
|
||||||
extern void __hardpps(const struct timespec *, const struct timespec *);
|
extern void __hardpps(const struct timespec *, const struct timespec *);
|
||||||
#endif /* _LINUX_NTP_INTERNAL_H */
|
#endif /* _LINUX_NTP_INTERNAL_H */
|
||||||
|
|
|
@ -1618,6 +1618,13 @@ EXPORT_SYMBOL_GPL(ktime_get_monotonic_offset);
|
||||||
*/
|
*/
|
||||||
int do_adjtimex(struct timex *txc)
|
int do_adjtimex(struct timex *txc)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* Validate the data before disabling interrupts */
|
||||||
|
ret = ntp_validate_timex(txc);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
return __do_adjtimex(txc);
|
return __do_adjtimex(txc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue