diff options
author | Namhyung Kim <namhyung@gmail.com> | 2010-09-14 08:43:47 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-09-18 06:19:21 -0400 |
commit | a3c74c52570c0c4ac90c9a0216de800c39089ba7 (patch) | |
tree | 4030b626478c5f51fef1ed4524424f6d83b9a128 | |
parent | 1dcc41bb037533839753df983d31778b30b67d93 (diff) |
futex: Mark restart_block.futex.uaddr[2] __user
@uaddr and @uaddr2 fields in restart_block.futex are user
pointers. Add __user and remove unnecessary casts.
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Darren Hart <dvhltc@us.ibm.com>
LKML-Reference: <1284468228-8723-2-git-send-email-namhyung@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | include/linux/thread_info.h | 4 | ||||
-rw-r--r-- | kernel/futex.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h index a8cc4e13434c..c90696544176 100644 --- a/include/linux/thread_info.h +++ b/include/linux/thread_info.h | |||
@@ -23,12 +23,12 @@ struct restart_block { | |||
23 | }; | 23 | }; |
24 | /* For futex_wait and futex_wait_requeue_pi */ | 24 | /* For futex_wait and futex_wait_requeue_pi */ |
25 | struct { | 25 | struct { |
26 | u32 *uaddr; | 26 | u32 __user *uaddr; |
27 | u32 val; | 27 | u32 val; |
28 | u32 flags; | 28 | u32 flags; |
29 | u32 bitset; | 29 | u32 bitset; |
30 | u64 time; | 30 | u64 time; |
31 | u32 *uaddr2; | 31 | u32 __user *uaddr2; |
32 | } futex; | 32 | } futex; |
33 | /* For nanosleep */ | 33 | /* For nanosleep */ |
34 | struct { | 34 | struct { |
diff --git a/kernel/futex.c b/kernel/futex.c index 464de2751ff9..45e448a5e440 100644 --- a/kernel/futex.c +++ b/kernel/futex.c | |||
@@ -1843,7 +1843,7 @@ retry: | |||
1843 | 1843 | ||
1844 | restart = ¤t_thread_info()->restart_block; | 1844 | restart = ¤t_thread_info()->restart_block; |
1845 | restart->fn = futex_wait_restart; | 1845 | restart->fn = futex_wait_restart; |
1846 | restart->futex.uaddr = (u32 *)uaddr; | 1846 | restart->futex.uaddr = uaddr; |
1847 | restart->futex.val = val; | 1847 | restart->futex.val = val; |
1848 | restart->futex.time = abs_time->tv64; | 1848 | restart->futex.time = abs_time->tv64; |
1849 | restart->futex.bitset = bitset; | 1849 | restart->futex.bitset = bitset; |
@@ -1869,7 +1869,7 @@ out: | |||
1869 | 1869 | ||
1870 | static long futex_wait_restart(struct restart_block *restart) | 1870 | static long futex_wait_restart(struct restart_block *restart) |
1871 | { | 1871 | { |
1872 | u32 __user *uaddr = (u32 __user *)restart->futex.uaddr; | 1872 | u32 __user *uaddr = restart->futex.uaddr; |
1873 | int fshared = 0; | 1873 | int fshared = 0; |
1874 | ktime_t t, *tp = NULL; | 1874 | ktime_t t, *tp = NULL; |
1875 | 1875 | ||