diff options
| author | Michael S. Tsirkin <mst@redhat.com> | 2013-05-26 10:30:36 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2013-05-28 03:41:05 -0400 |
| commit | e0acd0bd0594161be44c054bb6b984972f444beb (patch) | |
| tree | a1f786a535ff25a14341cf8b110c1fe0b20c6e37 /include/asm-generic | |
| parent | e4aa937ec75df0eea0bee03bffa3303ad36c986b (diff) | |
asm-generic: uaccess s/might_sleep/might_fault/
The only reason uaccess routines might sleep
is if they fault. Make this explicit.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1369577426-26721-1-git-send-email-mst@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/asm-generic')
| -rw-r--r-- | include/asm-generic/uaccess.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/asm-generic/uaccess.h b/include/asm-generic/uaccess.h index c184aa8ec8cd..dc1269c74a52 100644 --- a/include/asm-generic/uaccess.h +++ b/include/asm-generic/uaccess.h | |||
| @@ -163,7 +163,7 @@ static inline __must_check long __copy_to_user(void __user *to, | |||
| 163 | 163 | ||
| 164 | #define put_user(x, ptr) \ | 164 | #define put_user(x, ptr) \ |
| 165 | ({ \ | 165 | ({ \ |
| 166 | might_sleep(); \ | 166 | might_fault(); \ |
| 167 | access_ok(VERIFY_WRITE, ptr, sizeof(*ptr)) ? \ | 167 | access_ok(VERIFY_WRITE, ptr, sizeof(*ptr)) ? \ |
| 168 | __put_user(x, ptr) : \ | 168 | __put_user(x, ptr) : \ |
| 169 | -EFAULT; \ | 169 | -EFAULT; \ |
| @@ -225,7 +225,7 @@ extern int __put_user_bad(void) __attribute__((noreturn)); | |||
| 225 | 225 | ||
| 226 | #define get_user(x, ptr) \ | 226 | #define get_user(x, ptr) \ |
| 227 | ({ \ | 227 | ({ \ |
| 228 | might_sleep(); \ | 228 | might_fault(); \ |
| 229 | access_ok(VERIFY_READ, ptr, sizeof(*ptr)) ? \ | 229 | access_ok(VERIFY_READ, ptr, sizeof(*ptr)) ? \ |
| 230 | __get_user(x, ptr) : \ | 230 | __get_user(x, ptr) : \ |
| 231 | -EFAULT; \ | 231 | -EFAULT; \ |
| @@ -255,7 +255,7 @@ extern int __get_user_bad(void) __attribute__((noreturn)); | |||
| 255 | static inline long copy_from_user(void *to, | 255 | static inline long copy_from_user(void *to, |
| 256 | const void __user * from, unsigned long n) | 256 | const void __user * from, unsigned long n) |
| 257 | { | 257 | { |
| 258 | might_sleep(); | 258 | might_fault(); |
| 259 | if (access_ok(VERIFY_READ, from, n)) | 259 | if (access_ok(VERIFY_READ, from, n)) |
| 260 | return __copy_from_user(to, from, n); | 260 | return __copy_from_user(to, from, n); |
| 261 | else | 261 | else |
| @@ -265,7 +265,7 @@ static inline long copy_from_user(void *to, | |||
| 265 | static inline long copy_to_user(void __user *to, | 265 | static inline long copy_to_user(void __user *to, |
| 266 | const void *from, unsigned long n) | 266 | const void *from, unsigned long n) |
| 267 | { | 267 | { |
| 268 | might_sleep(); | 268 | might_fault(); |
| 269 | if (access_ok(VERIFY_WRITE, to, n)) | 269 | if (access_ok(VERIFY_WRITE, to, n)) |
| 270 | return __copy_to_user(to, from, n); | 270 | return __copy_to_user(to, from, n); |
| 271 | else | 271 | else |
| @@ -336,7 +336,7 @@ __clear_user(void __user *to, unsigned long n) | |||
| 336 | static inline __must_check unsigned long | 336 | static inline __must_check unsigned long |
| 337 | clear_user(void __user *to, unsigned long n) | 337 | clear_user(void __user *to, unsigned long n) |
| 338 | { | 338 | { |
| 339 | might_sleep(); | 339 | might_fault(); |
| 340 | if (!access_ok(VERIFY_WRITE, to, n)) | 340 | if (!access_ok(VERIFY_WRITE, to, n)) |
| 341 | return n; | 341 | return n; |
| 342 | 342 | ||
