Commit 5b478771 authored by Chris Metcalf's avatar Chris Metcalf

arch/tile: fix futex sanitization definition/prototype mismatch

Commit 8d7718aa 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: default avatarChris Metcalf <cmetcalf@tilera.com>
Reviewed-by: default avatarMichel Lespinasse <walken@google.com>
parent 5bab188a
...@@ -202,32 +202,32 @@ static inline int *__futex_setup(int __user *v) ...@@ -202,32 +202,32 @@ static inline int *__futex_setup(int __user *v)
return __atomic_hashed_lock((int __force *)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); 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); 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); 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); 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); 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); return __atomic_cmpxchg((int __force *)v, __futex_setup(v), o, n);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment