From 5b4787719f8870104fada924ef65ee9fd5eb2514 Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Sat, 19 Mar 2011 11:45:34 -0400 Subject: [PATCH 1/2] arch/tile: fix futex sanitization definition/prototype mismatch Commit 8d7718aa082aaf30a0b4989e1f04858952f941bc changed "int" to "u32" in the prototypes but not the definition. I missed this when I saw the patch go by on LKML. We cast "u32 *" to "int *" since we are tying into the underlying atomics framework, and atomic_t uses int as its value type. Signed-off-by: Chris Metcalf Reviewed-by: Michel Lespinasse --- arch/tile/lib/atomic_32.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/tile/lib/atomic_32.c b/arch/tile/lib/atomic_32.c index f02040d3614e2..46570211df527 100644 --- a/arch/tile/lib/atomic_32.c +++ b/arch/tile/lib/atomic_32.c @@ -202,32 +202,32 @@ static inline int *__futex_setup(int __user *v) return __atomic_hashed_lock((int __force *)v); } -struct __get_user futex_set(int __user *v, int i) +struct __get_user futex_set(u32 __user *v, int i) { return __atomic_xchg((int __force *)v, __futex_setup(v), i); } -struct __get_user futex_add(int __user *v, int n) +struct __get_user futex_add(u32 __user *v, int n) { return __atomic_xchg_add((int __force *)v, __futex_setup(v), n); } -struct __get_user futex_or(int __user *v, int n) +struct __get_user futex_or(u32 __user *v, int n) { return __atomic_or((int __force *)v, __futex_setup(v), n); } -struct __get_user futex_andn(int __user *v, int n) +struct __get_user futex_andn(u32 __user *v, int n) { return __atomic_andn((int __force *)v, __futex_setup(v), n); } -struct __get_user futex_xor(int __user *v, int n) +struct __get_user futex_xor(u32 __user *v, int n) { return __atomic_xor((int __force *)v, __futex_setup(v), n); } -struct __get_user futex_cmpxchg(int __user *v, int o, int n) +struct __get_user futex_cmpxchg(u32 __user *v, int o, int n) { return __atomic_cmpxchg((int __force *)v, __futex_setup(v), o, n); } From 339dc50e59f4ea697e2b8cd6296328a8015a6c21 Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Sat, 19 Mar 2011 11:47:53 -0400 Subject: [PATCH 2/2] asm-generic: support clock_adjtime() in A syscall was added without being added to asm-generic, which makes tile (and presumably score and unicore32) break. Signed-off-by: Chris Metcalf Acked-by: Arnd Bergmann Cc: Guan Xuetao Cc: Chen Liqin Cc: Lennox Wu --- include/asm-generic/unistd.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/asm-generic/unistd.h b/include/asm-generic/unistd.h index 57af0338d2709..d94f447c667a6 100644 --- a/include/asm-generic/unistd.h +++ b/include/asm-generic/unistd.h @@ -650,9 +650,11 @@ __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark) __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at) #define __NR_open_by_handle_at 265 __SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at) +#define __NR_clock_adjtime 266 +__SYSCALL(__NR_clock_adjtime, sys_clock_adjtime) #undef __NR_syscalls -#define __NR_syscalls 266 +#define __NR_syscalls 267 /* * All syscalls below here should go away really,