Merge to Fedora kernel-2.6.7-1.492
[linux-2.6.git] / include / asm-ppc64 / uaccess.h
index 9423be5..8a20f95 100644 (file)
@@ -272,36 +272,18 @@ __copy_to_user(void __user *to, const void *from, unsigned long n)
 #define __copy_in_user(to, from, size) \
        __copy_tofrom_user((to), (from), (size))
 
-static inline unsigned long
-copy_from_user(void *to, const void __user *from, unsigned long n)
-{
-       if (likely(access_ok(VERIFY_READ, from, n)))
-               n = __copy_from_user(to, from, n);
-       else
-               memset(to, 0, n);
-       return n;
-}
-
-static inline unsigned long
-copy_to_user(void __user *to, const void *from, unsigned long n)
-{
-       if (likely(access_ok(VERIFY_WRITE, to, n)))
-               n = __copy_to_user(to, from, n);
-       return n;
-}
-
-static inline unsigned long
-copy_in_user(void __user *to, const void __user *from, unsigned long n)
-{
-       might_sleep();
-       if (likely(access_ok(VERIFY_READ, from, n) &&
-           access_ok(VERIFY_WRITE, to, n)))
-               n =__copy_tofrom_user(to, from, n);
-       return n;
-}
+extern unsigned long copy_from_user(void *to, const void __user *from,
+                                   unsigned long n);
+extern unsigned long copy_to_user(void __user *to, const void *from,
+                                 unsigned long n);
+extern unsigned long copy_in_user(void __user *to, const void __user *from,
+                                 unsigned long n);
 
 extern unsigned long __clear_user(void __user *addr, unsigned long size);
 
+#define __copy_to_user_inatomic __copy_to_user
+#define __copy_from_user_inatomic __copy_from_user
+
 static inline unsigned long
 clear_user(void __user *addr, unsigned long size)
 {