time: Introduce do_sys_settimeofday64()
The do_sys_settimeofday() function uses a timespec, which is not year 2038 safe on 32bit systems. Thus this patch introduces do_sys_settimeofday64(), which allows us to transition users of do_sys_settimeofday() to using 64bit time types. Cc: Prarit Bhargava <prarit@redhat.com> Cc: Richard Cochran <richardcochran@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@kernel.org> Signed-off-by: Baolin Wang <baolin.wang@linaro.org> [jstultz: Include errno-base.h to avoid build issue on some arches] Signed-off-by: John Stultz <john.stultz@linaro.org>
Tento commit je obsažen v:
@@ -160,15 +160,15 @@ static inline void warp_clock(void)
|
||||
* various programs will get confused when the clock gets warped.
|
||||
*/
|
||||
|
||||
int do_sys_settimeofday(const struct timespec *tv, const struct timezone *tz)
|
||||
int do_sys_settimeofday64(const struct timespec64 *tv, const struct timezone *tz)
|
||||
{
|
||||
static int firsttime = 1;
|
||||
int error = 0;
|
||||
|
||||
if (tv && !timespec_valid(tv))
|
||||
if (tv && !timespec64_valid(tv))
|
||||
return -EINVAL;
|
||||
|
||||
error = security_settime(tv, tz);
|
||||
error = security_settime64(tv, tz);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
@@ -186,7 +186,7 @@ int do_sys_settimeofday(const struct timespec *tv, const struct timezone *tz)
|
||||
}
|
||||
}
|
||||
if (tv)
|
||||
return do_settimeofday(tv);
|
||||
return do_settimeofday64(tv);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele