diff options
Diffstat (limited to 'arch/xtensa/include/asm/uaccess.h')
-rw-r--r-- | arch/xtensa/include/asm/uaccess.h | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/arch/xtensa/include/asm/uaccess.h b/arch/xtensa/include/asm/uaccess.h index 876eb380aa26..147b26ed9c91 100644 --- a/arch/xtensa/include/asm/uaccess.h +++ b/arch/xtensa/include/asm/uaccess.h | |||
@@ -182,13 +182,13 @@ | |||
182 | #define get_fs() (current->thread.current_ds) | 182 | #define get_fs() (current->thread.current_ds) |
183 | #define set_fs(val) (current->thread.current_ds = (val)) | 183 | #define set_fs(val) (current->thread.current_ds = (val)) |
184 | 184 | ||
185 | #define segment_eq(a,b) ((a).seg == (b).seg) | 185 | #define segment_eq(a, b) ((a).seg == (b).seg) |
186 | 186 | ||
187 | #define __kernel_ok (segment_eq(get_fs(), KERNEL_DS)) | 187 | #define __kernel_ok (segment_eq(get_fs(), KERNEL_DS)) |
188 | #define __user_ok(addr,size) \ | 188 | #define __user_ok(addr, size) \ |
189 | (((size) <= TASK_SIZE)&&((addr) <= TASK_SIZE-(size))) | 189 | (((size) <= TASK_SIZE)&&((addr) <= TASK_SIZE-(size))) |
190 | #define __access_ok(addr,size) (__kernel_ok || __user_ok((addr),(size))) | 190 | #define __access_ok(addr, size) (__kernel_ok || __user_ok((addr), (size))) |
191 | #define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size)) | 191 | #define access_ok(type, addr, size) __access_ok((unsigned long)(addr), (size)) |
192 | 192 | ||
193 | /* | 193 | /* |
194 | * These are the main single-value transfer routines. They | 194 | * These are the main single-value transfer routines. They |
@@ -204,8 +204,8 @@ | |||
204 | * (a) re-use the arguments for side effects (sizeof is ok) | 204 | * (a) re-use the arguments for side effects (sizeof is ok) |
205 | * (b) require any knowledge of processes at this stage | 205 | * (b) require any knowledge of processes at this stage |
206 | */ | 206 | */ |
207 | #define put_user(x,ptr) __put_user_check((x),(ptr),sizeof(*(ptr))) | 207 | #define put_user(x, ptr) __put_user_check((x), (ptr), sizeof(*(ptr))) |
208 | #define get_user(x,ptr) __get_user_check((x),(ptr),sizeof(*(ptr))) | 208 | #define get_user(x, ptr) __get_user_check((x), (ptr), sizeof(*(ptr))) |
209 | 209 | ||
210 | /* | 210 | /* |
211 | * The "__xxx" versions of the user access functions are versions that | 211 | * The "__xxx" versions of the user access functions are versions that |
@@ -213,39 +213,39 @@ | |||
213 | * with a separate "access_ok()" call (this is used when we do multiple | 213 | * with a separate "access_ok()" call (this is used when we do multiple |
214 | * accesses to the same area of user memory). | 214 | * accesses to the same area of user memory). |
215 | */ | 215 | */ |
216 | #define __put_user(x,ptr) __put_user_nocheck((x),(ptr),sizeof(*(ptr))) | 216 | #define __put_user(x, ptr) __put_user_nocheck((x), (ptr), sizeof(*(ptr))) |
217 | #define __get_user(x,ptr) __get_user_nocheck((x),(ptr),sizeof(*(ptr))) | 217 | #define __get_user(x, ptr) __get_user_nocheck((x), (ptr), sizeof(*(ptr))) |
218 | 218 | ||
219 | 219 | ||
220 | extern long __put_user_bad(void); | 220 | extern long __put_user_bad(void); |
221 | 221 | ||
222 | #define __put_user_nocheck(x,ptr,size) \ | 222 | #define __put_user_nocheck(x, ptr, size) \ |
223 | ({ \ | 223 | ({ \ |
224 | long __pu_err; \ | 224 | long __pu_err; \ |
225 | __put_user_size((x),(ptr),(size),__pu_err); \ | 225 | __put_user_size((x), (ptr), (size), __pu_err); \ |
226 | __pu_err; \ | 226 | __pu_err; \ |
227 | }) | 227 | }) |
228 | 228 | ||
229 | #define __put_user_check(x,ptr,size) \ | 229 | #define __put_user_check(x, ptr, size) \ |
230 | ({ \ | 230 | ({ \ |
231 | long __pu_err = -EFAULT; \ | 231 | long __pu_err = -EFAULT; \ |
232 | __typeof__(*(ptr)) *__pu_addr = (ptr); \ | 232 | __typeof__(*(ptr)) *__pu_addr = (ptr); \ |
233 | if (access_ok(VERIFY_WRITE,__pu_addr,size)) \ | 233 | if (access_ok(VERIFY_WRITE, __pu_addr, size)) \ |
234 | __put_user_size((x),__pu_addr,(size),__pu_err); \ | 234 | __put_user_size((x), __pu_addr, (size), __pu_err); \ |
235 | __pu_err; \ | 235 | __pu_err; \ |
236 | }) | 236 | }) |
237 | 237 | ||
238 | #define __put_user_size(x,ptr,size,retval) \ | 238 | #define __put_user_size(x, ptr, size, retval) \ |
239 | do { \ | 239 | do { \ |
240 | int __cb; \ | 240 | int __cb; \ |
241 | retval = 0; \ | 241 | retval = 0; \ |
242 | switch (size) { \ | 242 | switch (size) { \ |
243 | case 1: __put_user_asm(x,ptr,retval,1,"s8i",__cb); break; \ | 243 | case 1: __put_user_asm(x, ptr, retval, 1, "s8i", __cb); break; \ |
244 | case 2: __put_user_asm(x,ptr,retval,2,"s16i",__cb); break; \ | 244 | case 2: __put_user_asm(x, ptr, retval, 2, "s16i", __cb); break; \ |
245 | case 4: __put_user_asm(x,ptr,retval,4,"s32i",__cb); break; \ | 245 | case 4: __put_user_asm(x, ptr, retval, 4, "s32i", __cb); break; \ |
246 | case 8: { \ | 246 | case 8: { \ |
247 | __typeof__(*ptr) __v64 = x; \ | 247 | __typeof__(*ptr) __v64 = x; \ |
248 | retval = __copy_to_user(ptr,&__v64,8); \ | 248 | retval = __copy_to_user(ptr, &__v64, 8); \ |
249 | break; \ | 249 | break; \ |
250 | } \ | 250 | } \ |
251 | default: __put_user_bad(); \ | 251 | default: __put_user_bad(); \ |
@@ -316,35 +316,35 @@ __asm__ __volatile__( \ | |||
316 | :"=r" (err), "=r" (cb) \ | 316 | :"=r" (err), "=r" (cb) \ |
317 | :"r" ((int)(x)), "r" (addr), "i" (-EFAULT), "0" (err)) | 317 | :"r" ((int)(x)), "r" (addr), "i" (-EFAULT), "0" (err)) |
318 | 318 | ||
319 | #define __get_user_nocheck(x,ptr,size) \ | 319 | #define __get_user_nocheck(x, ptr, size) \ |
320 | ({ \ | 320 | ({ \ |
321 | long __gu_err, __gu_val; \ | 321 | long __gu_err, __gu_val; \ |
322 | __get_user_size(__gu_val,(ptr),(size),__gu_err); \ | 322 | __get_user_size(__gu_val, (ptr), (size), __gu_err); \ |
323 | (x) = (__force __typeof__(*(ptr)))__gu_val; \ | 323 | (x) = (__force __typeof__(*(ptr)))__gu_val; \ |
324 | __gu_err; \ | 324 | __gu_err; \ |
325 | }) | 325 | }) |
326 | 326 | ||
327 | #define __get_user_check(x,ptr,size) \ | 327 | #define __get_user_check(x, ptr, size) \ |
328 | ({ \ | 328 | ({ \ |
329 | long __gu_err = -EFAULT, __gu_val = 0; \ | 329 | long __gu_err = -EFAULT, __gu_val = 0; \ |
330 | const __typeof__(*(ptr)) *__gu_addr = (ptr); \ | 330 | const __typeof__(*(ptr)) *__gu_addr = (ptr); \ |
331 | if (access_ok(VERIFY_READ,__gu_addr,size)) \ | 331 | if (access_ok(VERIFY_READ, __gu_addr, size)) \ |
332 | __get_user_size(__gu_val,__gu_addr,(size),__gu_err); \ | 332 | __get_user_size(__gu_val, __gu_addr, (size), __gu_err); \ |
333 | (x) = (__force __typeof__(*(ptr)))__gu_val; \ | 333 | (x) = (__force __typeof__(*(ptr)))__gu_val; \ |
334 | __gu_err; \ | 334 | __gu_err; \ |
335 | }) | 335 | }) |
336 | 336 | ||
337 | extern long __get_user_bad(void); | 337 | extern long __get_user_bad(void); |
338 | 338 | ||
339 | #define __get_user_size(x,ptr,size,retval) \ | 339 | #define __get_user_size(x, ptr, size, retval) \ |
340 | do { \ | 340 | do { \ |
341 | int __cb; \ | 341 | int __cb; \ |
342 | retval = 0; \ | 342 | retval = 0; \ |
343 | switch (size) { \ | 343 | switch (size) { \ |
344 | case 1: __get_user_asm(x,ptr,retval,1,"l8ui",__cb); break; \ | 344 | case 1: __get_user_asm(x, ptr, retval, 1, "l8ui", __cb); break;\ |
345 | case 2: __get_user_asm(x,ptr,retval,2,"l16ui",__cb); break; \ | 345 | case 2: __get_user_asm(x, ptr, retval, 2, "l16ui", __cb); break;\ |
346 | case 4: __get_user_asm(x,ptr,retval,4,"l32i",__cb); break; \ | 346 | case 4: __get_user_asm(x, ptr, retval, 4, "l32i", __cb); break;\ |
347 | case 8: retval = __copy_from_user(&x,ptr,8); break; \ | 347 | case 8: retval = __copy_from_user(&x, ptr, 8); break; \ |
348 | default: (x) = __get_user_bad(); \ | 348 | default: (x) = __get_user_bad(); \ |
349 | } \ | 349 | } \ |
350 | } while (0) | 350 | } while (0) |
@@ -390,19 +390,19 @@ __asm__ __volatile__( \ | |||
390 | */ | 390 | */ |
391 | 391 | ||
392 | extern unsigned __xtensa_copy_user(void *to, const void *from, unsigned n); | 392 | extern unsigned __xtensa_copy_user(void *to, const void *from, unsigned n); |
393 | #define __copy_user(to,from,size) __xtensa_copy_user(to,from,size) | 393 | #define __copy_user(to, from, size) __xtensa_copy_user(to, from, size) |
394 | 394 | ||
395 | 395 | ||
396 | static inline unsigned long | 396 | static inline unsigned long |
397 | __generic_copy_from_user_nocheck(void *to, const void *from, unsigned long n) | 397 | __generic_copy_from_user_nocheck(void *to, const void *from, unsigned long n) |
398 | { | 398 | { |
399 | return __copy_user(to,from,n); | 399 | return __copy_user(to, from, n); |
400 | } | 400 | } |
401 | 401 | ||
402 | static inline unsigned long | 402 | static inline unsigned long |
403 | __generic_copy_to_user_nocheck(void *to, const void *from, unsigned long n) | 403 | __generic_copy_to_user_nocheck(void *to, const void *from, unsigned long n) |
404 | { | 404 | { |
405 | return __copy_user(to,from,n); | 405 | return __copy_user(to, from, n); |
406 | } | 406 | } |
407 | 407 | ||
408 | static inline unsigned long | 408 | static inline unsigned long |
@@ -410,7 +410,7 @@ __generic_copy_to_user(void *to, const void *from, unsigned long n) | |||
410 | { | 410 | { |
411 | prefetch(from); | 411 | prefetch(from); |
412 | if (access_ok(VERIFY_WRITE, to, n)) | 412 | if (access_ok(VERIFY_WRITE, to, n)) |
413 | return __copy_user(to,from,n); | 413 | return __copy_user(to, from, n); |
414 | return n; | 414 | return n; |
415 | } | 415 | } |
416 | 416 | ||
@@ -419,18 +419,18 @@ __generic_copy_from_user(void *to, const void *from, unsigned long n) | |||
419 | { | 419 | { |
420 | prefetchw(to); | 420 | prefetchw(to); |
421 | if (access_ok(VERIFY_READ, from, n)) | 421 | if (access_ok(VERIFY_READ, from, n)) |
422 | return __copy_user(to,from,n); | 422 | return __copy_user(to, from, n); |
423 | else | 423 | else |
424 | memset(to, 0, n); | 424 | memset(to, 0, n); |
425 | return n; | 425 | return n; |
426 | } | 426 | } |
427 | 427 | ||
428 | #define copy_to_user(to,from,n) __generic_copy_to_user((to),(from),(n)) | 428 | #define copy_to_user(to, from, n) __generic_copy_to_user((to), (from), (n)) |
429 | #define copy_from_user(to,from,n) __generic_copy_from_user((to),(from),(n)) | 429 | #define copy_from_user(to, from, n) __generic_copy_from_user((to), (from), (n)) |
430 | #define __copy_to_user(to,from,n) \ | 430 | #define __copy_to_user(to, from, n) \ |
431 | __generic_copy_to_user_nocheck((to),(from),(n)) | 431 | __generic_copy_to_user_nocheck((to), (from), (n)) |
432 | #define __copy_from_user(to,from,n) \ | 432 | #define __copy_from_user(to, from, n) \ |
433 | __generic_copy_from_user_nocheck((to),(from),(n)) | 433 | __generic_copy_from_user_nocheck((to), (from), (n)) |
434 | #define __copy_to_user_inatomic __copy_to_user | 434 | #define __copy_to_user_inatomic __copy_to_user |
435 | #define __copy_from_user_inatomic __copy_from_user | 435 | #define __copy_from_user_inatomic __copy_from_user |
436 | 436 | ||