y2038: syscalls: rename y2038 compat syscalls
A lot of system calls that pass a time_t somewhere have an implementation using a COMPAT_SYSCALL_DEFINEx() on 64-bit architectures, and have been reworked so that this implementation can now be used on 32-bit architectures as well. The missing step is to redefine them using the regular SYSCALL_DEFINEx() to get them out of the compat namespace and make it possible to build them on 32-bit architectures. Any system call that ends in 'time' gets a '32' suffix on its name for that version, while the others get a '_time32' suffix, to distinguish them from the normal version, which takes a 64-bit time argument in the future. In this step, only 64-bit architectures are changed, doing this rename first lets us avoid touching the 32-bit architectures twice. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -45,6 +45,7 @@ SYS_NI(timer_delete);
|
||||
SYS_NI(clock_adjtime);
|
||||
SYS_NI(getitimer);
|
||||
SYS_NI(setitimer);
|
||||
SYS_NI(clock_adjtime32);
|
||||
#ifdef __ARCH_WANT_SYS_ALARM
|
||||
SYS_NI(alarm);
|
||||
#endif
|
||||
@@ -150,16 +151,16 @@ SYSCALL_DEFINE4(clock_nanosleep, const clockid_t, which_clock, int, flags,
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
COMPAT_SYS_NI(timer_create);
|
||||
COMPAT_SYS_NI(clock_adjtime);
|
||||
COMPAT_SYS_NI(timer_settime);
|
||||
COMPAT_SYS_NI(timer_gettime);
|
||||
COMPAT_SYS_NI(getitimer);
|
||||
COMPAT_SYS_NI(setitimer);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_COMPAT_32BIT_TIME
|
||||
COMPAT_SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
|
||||
struct old_timespec32 __user *, tp)
|
||||
SYS_NI(timer_settime32);
|
||||
SYS_NI(timer_gettime32);
|
||||
|
||||
SYSCALL_DEFINE2(clock_settime32, const clockid_t, which_clock,
|
||||
struct old_timespec32 __user *, tp)
|
||||
{
|
||||
struct timespec64 new_tp;
|
||||
|
||||
@@ -171,8 +172,8 @@ COMPAT_SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
|
||||
return do_sys_settimeofday64(&new_tp, NULL);
|
||||
}
|
||||
|
||||
COMPAT_SYSCALL_DEFINE2(clock_gettime, clockid_t, which_clock,
|
||||
struct old_timespec32 __user *, tp)
|
||||
SYSCALL_DEFINE2(clock_gettime32, clockid_t, which_clock,
|
||||
struct old_timespec32 __user *, tp)
|
||||
{
|
||||
int ret;
|
||||
struct timespec64 kernel_tp;
|
||||
@@ -186,8 +187,8 @@ COMPAT_SYSCALL_DEFINE2(clock_gettime, clockid_t, which_clock,
|
||||
return 0;
|
||||
}
|
||||
|
||||
COMPAT_SYSCALL_DEFINE2(clock_getres, clockid_t, which_clock,
|
||||
struct old_timespec32 __user *, tp)
|
||||
SYSCALL_DEFINE2(clock_getres_time32, clockid_t, which_clock,
|
||||
struct old_timespec32 __user *, tp)
|
||||
{
|
||||
struct timespec64 rtn_tp = {
|
||||
.tv_sec = 0,
|
||||
@@ -206,9 +207,9 @@ COMPAT_SYSCALL_DEFINE2(clock_getres, clockid_t, which_clock,
|
||||
}
|
||||
}
|
||||
|
||||
COMPAT_SYSCALL_DEFINE4(clock_nanosleep, clockid_t, which_clock, int, flags,
|
||||
struct old_timespec32 __user *, rqtp,
|
||||
struct old_timespec32 __user *, rmtp)
|
||||
SYSCALL_DEFINE4(clock_nanosleep_time32, clockid_t, which_clock, int, flags,
|
||||
struct old_timespec32 __user *, rqtp,
|
||||
struct old_timespec32 __user *, rmtp)
|
||||
{
|
||||
struct timespec64 t;
|
||||
|
||||
|
Reference in New Issue
Block a user