aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-10-29 20:25:48 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-29 20:25:48 -0500
commit9ca0e5474d11ca044e0aacfa6e78bf17957118d2 (patch)
tree2ffa4b51a73070e41b53644e0adfd39adf1eb501 /include
parentc0f79c4cb11acca545f9802ee0e14ad3b5cc123d (diff)
parent9f0f9313cec8c76c89bc8a68653f928fa12fab96 (diff)
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 3914/1: [Jornada7xx] - Typo Fix in cpu-sa1110.c (b != B) [ARM] 3913/1: n2100: fix IRQ routing for second ethernet port [ARM] Add KBUILD_IMAGE target support [ARM] Fix suspend oops caused by PXA2xx PCMCIA driver [ARM] Fix i2c-pxa slave mode support [ARM] 3900/1: Fix VFP Division by Zero exception handling. [ARM] 3899/1: Fix the normalization of the denormal double precision number. [ARM] 3909/1: Disable UWIND_INFO for ARM (again) [ARM] Add __must_check to uaccess functions [ARM] Add realview SMP default configuration [ARM] Fix SMP irqflags support
Diffstat (limited to 'include')
-rw-r--r--include/asm-arm/uaccess.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/include/asm-arm/uaccess.h b/include/asm-arm/uaccess.h
index 09ad0cab9014..5f420a0149f1 100644
--- a/include/asm-arm/uaccess.h
+++ b/include/asm-arm/uaccess.h
@@ -383,19 +383,19 @@ do { \
383 383
384 384
385#ifdef CONFIG_MMU 385#ifdef CONFIG_MMU
386extern unsigned long __copy_from_user(void *to, const void __user *from, unsigned long n); 386extern unsigned long __must_check __copy_from_user(void *to, const void __user *from, unsigned long n);
387extern unsigned long __copy_to_user(void __user *to, const void *from, unsigned long n); 387extern unsigned long __must_check __copy_to_user(void __user *to, const void *from, unsigned long n);
388extern unsigned long __clear_user(void __user *addr, unsigned long n); 388extern unsigned long __must_check __clear_user(void __user *addr, unsigned long n);
389#else 389#else
390#define __copy_from_user(to,from,n) (memcpy(to, (void __force *)from, n), 0) 390#define __copy_from_user(to,from,n) (memcpy(to, (void __force *)from, n), 0)
391#define __copy_to_user(to,from,n) (memcpy((void __force *)to, from, n), 0) 391#define __copy_to_user(to,from,n) (memcpy((void __force *)to, from, n), 0)
392#define __clear_user(addr,n) (memset((void __force *)addr, 0, n), 0) 392#define __clear_user(addr,n) (memset((void __force *)addr, 0, n), 0)
393#endif 393#endif
394 394
395extern unsigned long __strncpy_from_user(char *to, const char __user *from, unsigned long count); 395extern unsigned long __must_check __strncpy_from_user(char *to, const char __user *from, unsigned long count);
396extern unsigned long __strnlen_user(const char __user *s, long n); 396extern unsigned long __must_check __strnlen_user(const char __user *s, long n);
397 397
398static inline unsigned long copy_from_user(void *to, const void __user *from, unsigned long n) 398static inline unsigned long __must_check copy_from_user(void *to, const void __user *from, unsigned long n)
399{ 399{
400 if (access_ok(VERIFY_READ, from, n)) 400 if (access_ok(VERIFY_READ, from, n))
401 n = __copy_from_user(to, from, n); 401 n = __copy_from_user(to, from, n);
@@ -404,7 +404,7 @@ static inline unsigned long copy_from_user(void *to, const void __user *from, un
404 return n; 404 return n;
405} 405}
406 406
407static inline unsigned long copy_to_user(void __user *to, const void *from, unsigned long n) 407static inline unsigned long __must_check copy_to_user(void __user *to, const void *from, unsigned long n)
408{ 408{
409 if (access_ok(VERIFY_WRITE, to, n)) 409 if (access_ok(VERIFY_WRITE, to, n))
410 n = __copy_to_user(to, from, n); 410 n = __copy_to_user(to, from, n);
@@ -414,14 +414,14 @@ static inline unsigned long copy_to_user(void __user *to, const void *from, unsi
414#define __copy_to_user_inatomic __copy_to_user 414#define __copy_to_user_inatomic __copy_to_user
415#define __copy_from_user_inatomic __copy_from_user 415#define __copy_from_user_inatomic __copy_from_user
416 416
417static inline unsigned long clear_user(void __user *to, unsigned long n) 417static inline unsigned long __must_check clear_user(void __user *to, unsigned long n)
418{ 418{
419 if (access_ok(VERIFY_WRITE, to, n)) 419 if (access_ok(VERIFY_WRITE, to, n))
420 n = __clear_user(to, n); 420 n = __clear_user(to, n);
421 return n; 421 return n;
422} 422}
423 423
424static inline long strncpy_from_user(char *dst, const char __user *src, long count) 424static inline long __must_check strncpy_from_user(char *dst, const char __user *src, long count)
425{ 425{
426 long res = -EFAULT; 426 long res = -EFAULT;
427 if (access_ok(VERIFY_READ, src, 1)) 427 if (access_ok(VERIFY_READ, src, 1))
@@ -431,7 +431,7 @@ static inline long strncpy_from_user(char *dst, const char __user *src, long cou
431 431
432#define strlen_user(s) strnlen_user(s, ~0UL >> 1) 432#define strlen_user(s) strnlen_user(s, ~0UL >> 1)
433 433
434static inline long strnlen_user(const char __user *s, long n) 434static inline long __must_check strnlen_user(const char __user *s, long n)
435{ 435{
436 unsigned long res = 0; 436 unsigned long res = 0;
437 437