Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit efbbdce9 authored by Paolo 'Blaisorblade' Giarrusso's avatar Paolo 'Blaisorblade' Giarrusso Committed by Linus Torvalds
Browse files

[PATCH] x86_64: Use common sys_time64



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).

Acked-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent bf0f2e23
Loading
Loading
Loading
Loading
+0 −14
Original line number Original line Diff line number Diff line
@@ -154,17 +154,3 @@ asmlinkage long sys_uname(struct new_utsname __user * name)
		err |= copy_to_user(&name->machine, "i686", 5); 		
		err |= copy_to_user(&name->machine, "i686", 5); 		
	return err ? -EFAULT : 0;
	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;
}
+2 −1
Original line number Original line Diff line number Diff line
@@ -462,7 +462,7 @@ __SYSCALL(__NR_fremovexattr, sys_fremovexattr)
#define __NR_tkill	200
#define __NR_tkill	200
__SYSCALL(__NR_tkill, sys_tkill) 
__SYSCALL(__NR_tkill, sys_tkill) 
#define __NR_time      201
#define __NR_time      201
__SYSCALL(__NR_time, sys_time64)
__SYSCALL(__NR_time, sys_time)
#define __NR_futex     202
#define __NR_futex     202
__SYSCALL(__NR_futex, sys_futex)
__SYSCALL(__NR_futex, sys_futex)
#define __NR_sched_setaffinity    203
#define __NR_sched_setaffinity    203
@@ -608,6 +608,7 @@ do { \
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_TIME
#define __ARCH_WANT_COMPAT_SYS_TIME
#define __ARCH_WANT_COMPAT_SYS_TIME
#endif
#endif