aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/uaccess.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ia64/uaccess.h')
-rw-r--r--include/asm-ia64/uaccess.h19
1 files changed, 6 insertions, 13 deletions
diff --git a/include/asm-ia64/uaccess.h b/include/asm-ia64/uaccess.h
index 8edd9a90949c..9adb51211c22 100644
--- a/include/asm-ia64/uaccess.h
+++ b/include/asm-ia64/uaccess.h
@@ -72,13 +72,6 @@
72}) 72})
73#define access_ok(type, addr, size) __access_ok((addr), (size), get_fs()) 73#define access_ok(type, addr, size) __access_ok((addr), (size), get_fs())
74 74
75/* this function will go away soon - use access_ok() instead */
76static inline int __deprecated
77verify_area (int type, const void __user *addr, unsigned long size)
78{
79 return access_ok(type, addr, size) ? 0 : -EFAULT;
80}
81
82/* 75/*
83 * These are the main single-value transfer routines. They automatically 76 * These are the main single-value transfer routines. They automatically
84 * use the right size if we just have the right pointer type. 77 * use the right size if we just have the right pointer type.
@@ -194,8 +187,8 @@ extern void __get_user_unknown (void);
194({ \ 187({ \
195 const __typeof__(*(ptr)) __user *__gu_ptr = (ptr); \ 188 const __typeof__(*(ptr)) __user *__gu_ptr = (ptr); \
196 __typeof__ (size) __gu_size = (size); \ 189 __typeof__ (size) __gu_size = (size); \
197 long __gu_err = -EFAULT, __gu_val = 0; \ 190 long __gu_err = -EFAULT; \
198 \ 191 unsigned long __gu_val = 0; \
199 if (!check || __access_ok(__gu_ptr, size, segment)) \ 192 if (!check || __access_ok(__gu_ptr, size, segment)) \
200 switch (__gu_size) { \ 193 switch (__gu_size) { \
201 case 1: __get_user_size(__gu_val, __gu_ptr, 1, __gu_err); break; \ 194 case 1: __get_user_size(__gu_val, __gu_ptr, 1, __gu_err); break; \
@@ -247,13 +240,13 @@ extern unsigned long __must_check __copy_user (void __user *to, const void __use
247static inline unsigned long 240static inline unsigned long
248__copy_to_user (void __user *to, const void *from, unsigned long count) 241__copy_to_user (void __user *to, const void *from, unsigned long count)
249{ 242{
250 return __copy_user(to, (void __user *) from, count); 243 return __copy_user(to, (__force void __user *) from, count);
251} 244}
252 245
253static inline unsigned long 246static inline unsigned long
254__copy_from_user (void *to, const void __user *from, unsigned long count) 247__copy_from_user (void *to, const void __user *from, unsigned long count)
255{ 248{
256 return __copy_user((void __user *) to, from, count); 249 return __copy_user((__force void __user *) to, from, count);
257} 250}
258 251
259#define __copy_to_user_inatomic __copy_to_user 252#define __copy_to_user_inatomic __copy_to_user
@@ -265,7 +258,7 @@ __copy_from_user (void *to, const void __user *from, unsigned long count)
265 long __cu_len = (n); \ 258 long __cu_len = (n); \
266 \ 259 \
267 if (__access_ok(__cu_to, __cu_len, get_fs())) \ 260 if (__access_ok(__cu_to, __cu_len, get_fs())) \
268 __cu_len = __copy_user(__cu_to, (void __user *) __cu_from, __cu_len); \ 261 __cu_len = __copy_user(__cu_to, (__force void __user *) __cu_from, __cu_len); \
269 __cu_len; \ 262 __cu_len; \
270}) 263})
271 264
@@ -277,7 +270,7 @@ __copy_from_user (void *to, const void __user *from, unsigned long count)
277 \ 270 \
278 __chk_user_ptr(__cu_from); \ 271 __chk_user_ptr(__cu_from); \
279 if (__access_ok(__cu_from, __cu_len, get_fs())) \ 272 if (__access_ok(__cu_from, __cu_len, get_fs())) \
280 __cu_len = __copy_user((void __user *) __cu_to, __cu_from, __cu_len); \ 273 __cu_len = __copy_user((__force void __user *) __cu_to, __cu_from, __cu_len); \
281 __cu_len; \ 274 __cu_len; \
282}) 275})
283 276