summaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
authorDeepa Dinamani <deepa.kernel@gmail.com>2018-07-03 07:44:21 +0200
committerArnd Bergmann <arnd@arndb.de>2019-02-07 00:13:27 +0100
commitead25417f82ed7f8a21da4dcefc768169f7da884 (patch)
treeb97e7cae6a4b9c896e479c8c723706e59a95619b /arch/sparc
parentsparc64: add custom adjtimex/clock_adjtime functions (diff)
downloadlinux-ead25417f82ed7f8a21da4dcefc768169f7da884.tar.xz
linux-ead25417f82ed7f8a21da4dcefc768169f7da884.zip
timex: use __kernel_timex internally
struct timex is not y2038 safe. Replace all uses of timex with y2038 safe __kernel_timex. Note that struct __kernel_timex is an ABI interface definition. We could define a new structure based on __kernel_timex that is only available internally instead. Right now, there isn't a strong motivation for this as the structure is isolated to a few defined struct timex interfaces and such a structure would be exactly the same as struct timex. The patch was generated by the following coccinelle script: virtual patch @depends on patch forall@ identifier ts; expression e; @@ ( - struct timex ts; + struct __kernel_timex ts; | - struct timex ts = {}; + struct __kernel_timex ts = {}; | - struct timex ts = e; + struct __kernel_timex ts = e; | - struct timex *ts; + struct __kernel_timex *ts; | (memset \| copy_from_user \| copy_to_user \)(..., - sizeof(struct timex)) + sizeof(struct __kernel_timex)) ) @depends on patch forall@ identifier ts; identifier fn; @@ fn(..., - struct timex *ts, + struct __kernel_timex *ts, ...) { ... } @depends on patch forall@ identifier ts; identifier fn; @@ fn(..., - struct timex *ts) { + struct __kernel_timex *ts) { ... } Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com> Cc: linux-alpha@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/kernel/sys_sparc_64.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/kernel/sys_sparc_64.c b/arch/sparc/kernel/sys_sparc_64.c
index 37de18a11207..9825ca6a6020 100644
--- a/arch/sparc/kernel/sys_sparc_64.c
+++ b/arch/sparc/kernel/sys_sparc_64.c
@@ -548,7 +548,7 @@ out_unlock:
SYSCALL_DEFINE1(sparc_adjtimex, struct timex __user *, txc_p)
{
struct timex txc; /* Local copy of parameter */
- struct timex *kt = (void *)&txc;
+ struct __kernel_timex *kt = (void *)&txc;
int ret;
/* Copy the user data space into the kernel copy
@@ -572,7 +572,7 @@ SYSCALL_DEFINE1(sparc_adjtimex, struct timex __user *, txc_p)
SYSCALL_DEFINE2(sparc_clock_adjtime, const clockid_t, which_clock,struct timex __user *, txc_p)
{
struct timex txc; /* Local copy of parameter */
- struct timex *kt = (void *)&txc;
+ struct __kernel_timex *kt = (void *)&txc;
int ret;
if (!IS_ENABLED(CONFIG_POSIX_TIMERS)) {