diff options
Diffstat (limited to 'arch/s390/include/asm/uaccess.h')
-rw-r--r-- | arch/s390/include/asm/uaccess.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/s390/include/asm/uaccess.h b/arch/s390/include/asm/uaccess.h index 8f2cada4f7c9..1f3a79bcd262 100644 --- a/arch/s390/include/asm/uaccess.h +++ b/arch/s390/include/asm/uaccess.h | |||
@@ -50,10 +50,15 @@ | |||
50 | 50 | ||
51 | #define segment_eq(a,b) ((a).ar4 == (b).ar4) | 51 | #define segment_eq(a,b) ((a).ar4 == (b).ar4) |
52 | 52 | ||
53 | #define __access_ok(addr, size) \ | 53 | static inline int __range_ok(unsigned long addr, unsigned long size) |
54 | ({ \ | 54 | { |
55 | __chk_user_ptr(addr); \ | 55 | return 1; |
56 | 1; \ | 56 | } |
57 | |||
58 | #define __access_ok(addr, size) \ | ||
59 | ({ \ | ||
60 | __chk_user_ptr(addr); \ | ||
61 | __range_ok((unsigned long)(addr), (size)); \ | ||
57 | }) | 62 | }) |
58 | 63 | ||
59 | #define access_ok(type, addr, size) __access_ok(addr, size) | 64 | #define access_ok(type, addr, size) __access_ok(addr, size) |
@@ -377,7 +382,7 @@ clear_user(void __user *to, unsigned long n) | |||
377 | } | 382 | } |
378 | 383 | ||
379 | extern int memcpy_real(void *, void *, size_t); | 384 | extern int memcpy_real(void *, void *, size_t); |
380 | extern void copy_to_absolute_zero(void *dest, void *src, size_t count); | 385 | extern void memcpy_absolute(void *, void *, size_t); |
381 | extern int copy_to_user_real(void __user *dest, void *src, size_t count); | 386 | extern int copy_to_user_real(void __user *dest, void *src, size_t count); |
382 | extern int copy_from_user_real(void *dest, void __user *src, size_t count); | 387 | extern int copy_from_user_real(void *dest, void __user *src, size_t count); |
383 | 388 | ||