diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2011-03-19 11:45:34 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2011-03-20 00:08:21 -0400 |
commit | 5b4787719f8870104fada924ef65ee9fd5eb2514 (patch) | |
tree | 6f82375d8f2372d70e00430292190fb63776056c | |
parent | 5bab188a316718a26346cdb25c4cc6b319f8f907 (diff) |
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 <cmetcalf@tilera.com>
Reviewed-by: Michel Lespinasse <walken@google.com>
-rw-r--r-- | arch/tile/lib/atomic_32.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/tile/lib/atomic_32.c b/arch/tile/lib/atomic_32.c index f02040d3614e..46570211df52 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) | |||
202 | return __atomic_hashed_lock((int __force *)v); | 202 | return __atomic_hashed_lock((int __force *)v); |
203 | } | 203 | } |
204 | 204 | ||
205 | struct __get_user futex_set(int __user *v, int i) | 205 | struct __get_user futex_set(u32 __user *v, int i) |
206 | { | 206 | { |
207 | return __atomic_xchg((int __force *)v, __futex_setup(v), i); | 207 | return __atomic_xchg((int __force *)v, __futex_setup(v), i); |
208 | } | 208 | } |
209 | 209 | ||
210 | struct __get_user futex_add(int __user *v, int n) | 210 | struct __get_user futex_add(u32 __user *v, int n) |
211 | { | 211 | { |
212 | return __atomic_xchg_add((int __force *)v, __futex_setup(v), n); | 212 | return __atomic_xchg_add((int __force *)v, __futex_setup(v), n); |
213 | } | 213 | } |
214 | 214 | ||
215 | struct __get_user futex_or(int __user *v, int n) | 215 | struct __get_user futex_or(u32 __user *v, int n) |
216 | { | 216 | { |
217 | return __atomic_or((int __force *)v, __futex_setup(v), n); | 217 | return __atomic_or((int __force *)v, __futex_setup(v), n); |
218 | } | 218 | } |
219 | 219 | ||
220 | struct __get_user futex_andn(int __user *v, int n) | 220 | struct __get_user futex_andn(u32 __user *v, int n) |
221 | { | 221 | { |
222 | return __atomic_andn((int __force *)v, __futex_setup(v), n); | 222 | return __atomic_andn((int __force *)v, __futex_setup(v), n); |
223 | } | 223 | } |
224 | 224 | ||
225 | struct __get_user futex_xor(int __user *v, int n) | 225 | struct __get_user futex_xor(u32 __user *v, int n) |
226 | { | 226 | { |
227 | return __atomic_xor((int __force *)v, __futex_setup(v), n); | 227 | return __atomic_xor((int __force *)v, __futex_setup(v), n); |
228 | } | 228 | } |
229 | 229 | ||
230 | struct __get_user futex_cmpxchg(int __user *v, int o, int n) | 230 | struct __get_user futex_cmpxchg(u32 __user *v, int o, int n) |
231 | { | 231 | { |
232 | return __atomic_cmpxchg((int __force *)v, __futex_setup(v), o, n); | 232 | return __atomic_cmpxchg((int __force *)v, __futex_setup(v), o, n); |
233 | } | 233 | } |