[patch 1/1] x86_64: remove duplicated sys_time64

From: blaisorblade
Date: Thu Jul 28 2005 - 14:43:21 EST



CC: Andi Kleen <ak@xxxxxxx>

I'm resending this patch again for 4th time since it wasn't merged nor it is
in -mm. The first time it didn't look right because of Andi looking at an
older tree, but it later was sorted out, and he Acked the patch.

Keeping this function does not makes sense because it's a copied (and buggy)
copy of sys_time. The only difference is that now.tv_sec (which is a time_t,
i.e. a 64-bit long) is copied (and truncated) into a int (32-bit).

The prototype is the same (they both take a long __user *), so let's drop this
and redirect it to sys_time (and make sure it exists by defining
__ARCH_WANT_SYS_TIME).

Only disadvantage is that the sys_stime definition is also compiled (may be
fixed if needed by adding a separate __ARCH_WANT_SYS_STIME macro, and defining
it for all arch's defining __ARCH_WANT_SYS_TIME except x86_64).

Not compile-tested, sorry.

Acked-by: Andi Kleen <ak@xxxxxxx>

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx>
---

linux-2.6.git-paolo/arch/x86_64/kernel/sys_x86_64.c | 14 --------------
linux-2.6.git-paolo/include/asm-x86_64/unistd.h | 3 ++-
2 files changed, 2 insertions(+), 15 deletions(-)

diff -puN include/asm-x86_64/unistd.h~x86_64-remove-sys-time-x86-64 include/asm-x86_64/unistd.h
--- linux-2.6.git/include/asm-x86_64/unistd.h~x86_64-remove-sys-time-x86-64 2005-07-28 17:45:26.000000000 +0200
+++ linux-2.6.git-paolo/include/asm-x86_64/unistd.h 2005-07-28 17:45:26.000000000 +0200
@@ -462,7 +462,7 @@ __SYSCALL(__NR_fremovexattr, sys_fremove
#define __NR_tkill 200
__SYSCALL(__NR_tkill, sys_tkill)
#define __NR_time 201
-__SYSCALL(__NR_time, sys_time64)
+__SYSCALL(__NR_time, sys_time)
#define __NR_futex 202
__SYSCALL(__NR_futex, sys_futex)
#define __NR_sched_setaffinity 203
@@ -608,6 +608,7 @@ do { \
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_TIME
#define __ARCH_WANT_COMPAT_SYS_TIME
#endif

diff -puN arch/x86_64/kernel/sys_x86_64.c~x86_64-remove-sys-time-x86-64 arch/x86_64/kernel/sys_x86_64.c
--- linux-2.6.git/arch/x86_64/kernel/sys_x86_64.c~x86_64-remove-sys-time-x86-64 2005-07-28 17:45:26.000000000 +0200
+++ linux-2.6.git-paolo/arch/x86_64/kernel/sys_x86_64.c 2005-07-28 17:45:26.000000000 +0200
@@ -161,17 +161,3 @@ asmlinkage long sys_uname(struct new_uts
err |= copy_to_user(&name->machine, "i686", 5);
return err ? -EFAULT : 0;
}
-
-asmlinkage long sys_time64(long __user * tloc)
-{
- struct timeval now;
- int i;
-
- do_gettimeofday(&now);
- i = now.tv_sec;
- if (tloc) {
- if (put_user(i,tloc))
- i = -EFAULT;
- }
- return i;
-}
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/