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 | } |
