uaccess.h 826 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef __ASM_SH_UACCESS_H
  2. #define __ASM_SH_UACCESS_H
  3. #ifdef CONFIG_SUPERH32
  4. # include "uaccess_32.h"
  5. #else
  6. # include "uaccess_64.h"
  7. #endif
  8. static inline unsigned long
  9. copy_from_user(void *to, const void __user *from, unsigned long n)
  10. {
  11. unsigned long __copy_from = (unsigned long) from;
  12. __kernel_size_t __copy_size = (__kernel_size_t) n;
  13. if (__copy_size && __access_ok(__copy_from, __copy_size))
  14. return __copy_user(to, from, __copy_size);
  15. return __copy_size;
  16. }
  17. static inline unsigned long
  18. copy_to_user(void __user *to, const void *from, unsigned long n)
  19. {
  20. unsigned long __copy_to = (unsigned long) to;
  21. __kernel_size_t __copy_size = (__kernel_size_t) n;
  22. if (__copy_size && __access_ok(__copy_to, __copy_size))
  23. return __copy_user(to, from, __copy_size);
  24. return __copy_size;
  25. }
  26. #endif /* __ASM_SH_UACCESS_H */