This patch series changes the 32-bit time types (timespec/itimerspec) to the 64-bit types (timespec64/itimerspec64), since 32-bit time types will break in the year 2038 on 32bit systems.
This patch series introduces new methods with timespec64/itimerspec64 type, and removes the old ones with timespec/itimerspec type for posix_clock_operations and k_clock structure.
--- Changes since v4: - Rebase the patch series. - Modify the subject line and the changelog.
Changes since v3: - Fix some introducing bugs.
Changes since v2: - Split the syscall conversion patch into small some patches.
Changes since V1: - Split some patch into small patch. - Add some default function for new 64bit methods for syscall function. - Move do_sys_settimeofday() function to head file. - Modify the EXPORT_SYMPOL issue. - Add new 64bit methods in cputime_nsecs.h file. ---
Baolin Wang (24): time: Introduce struct itimerspec64 timekeeping: Introduce current_kernel_time64() security: Introduce security_settime64() time: Introduce do_sys_settimeofday64() posix-timers: Introduce {get,put}_timespec and {get,put}_itimerspec posix-timers: Factor out the guts of 'timer_gettime' posix-timers: Implement y2038 safe timer_get64() callback posix-timers: Factor out the guts of 'timer_settime' posix-timers: Implement y2038 safe timer_set64() callback posix-timers: Factor out the guts of 'clock_settime' posix-timers: Implement y2038 safe clock_set64() callback posix-timers: Factor out the guts of 'clock_gettime' posix-timers: Implement y2038 safe clock_get64() callback posix-timers: Factor out the guts of 'clcok_getres' posix-timers: Implement y2038 safe clock_getres64() callback timekeeping: Change the implementation of timekeeping_clocktai() posix-timers: Convert to y2038 safe callbacks mmtimer: Convert to y2038 safe callbacks alarmtimer: Convert to y2038 safe callbacks posix-clock: Convert to y2038 safe callbacks time: Introduce timespec64_to_jiffies()/jiffies_to_timespec64() cputime: Introduce cputime_to_timespec64()/timespec64_to_cputime() posix-cpu-timers: Convert to y2038 safe callbacks k_clock: Remove y2038 unsafe callbacks
arch/powerpc/include/asm/cputime.h | 6 +- arch/s390/include/asm/cputime.h | 8 +- drivers/char/mmtimer.c | 36 +++-- drivers/ptp/ptp_clock.c | 22 +-- include/asm-generic/cputime_jiffies.h | 10 +- include/asm-generic/cputime_nsecs.h | 6 +- include/linux/cputime.h | 16 ++ include/linux/jiffies.h | 21 ++- include/linux/lsm_hooks.h | 5 +- include/linux/posix-clock.h | 10 +- include/linux/posix-timers.h | 18 +-- include/linux/security.h | 20 ++- include/linux/time64.h | 35 +++++ include/linux/timekeeping.h | 25 +++- kernel/time/alarmtimer.c | 38 ++--- kernel/time/posix-clock.c | 20 +-- kernel/time/posix-cpu-timers.c | 84 ++++++----- kernel/time/posix-timers.c | 257 +++++++++++++++++++++------------ kernel/time/time.c | 19 +-- kernel/time/timekeeping.c | 6 +- security/commoncap.c | 2 +- security/security.c | 2 +- 22 files changed, 412 insertions(+), 254 deletions(-)