jbd2: correctly unescape journal data blocks
[sfrench/cifs-2.6.git] / include / asm-avr32 / uaccess.h
index 821deb5a9d2893a1255b2bd85d25f8319a5ed87c..ed092395215e628a6351ddf8e8fa04529374da6a 100644 (file)
@@ -68,12 +68,6 @@ static inline void set_fs(mm_segment_t s)
 
 #define access_ok(type, addr, size) (likely(__range_ok(addr, size) == 0))
 
-static inline int
-verify_area(int type, const void __user *addr, unsigned long size)
-{
-       return access_ok(type, addr, size) ? 0 : -EFAULT;
-}
-
 /* Generic arbitrary sized copy. Return the number of bytes NOT copied */
 extern __kernel_size_t __copy_user(void *to, const void *from,
                                   __kernel_size_t n);
@@ -187,24 +181,23 @@ extern int __put_user_bad(void);
 
 #define __get_user_nocheck(x, ptr, size)                               \
 ({                                                                     \
-       typeof(*(ptr)) __gu_val = (typeof(*(ptr)) __force)0;            \
+       unsigned long __gu_val = 0;                                     \
        int __gu_err = 0;                                               \
                                                                        \
        switch (size) {                                                 \
        case 1: __get_user_asm("ub", __gu_val, ptr, __gu_err); break;   \
        case 2: __get_user_asm("uh", __gu_val, ptr, __gu_err); break;   \
        case 4: __get_user_asm("w", __gu_val, ptr, __gu_err); break;    \
-       case 8: __get_user_asm("d", __gu_val, ptr, __gu_err); break;    \
        default: __gu_err = __get_user_bad(); break;                    \
        }                                                               \
                                                                        \
-       x = __gu_val;                                                   \
+       x = (typeof(*(ptr)))__gu_val;                                   \
        __gu_err;                                                       \
 })
 
 #define __get_user_check(x, ptr, size)                                 \
 ({                                                                     \
-       typeof(*(ptr)) __gu_val = (typeof(*(ptr)) __force)0;            \
+       unsigned long __gu_val = 0;                                     \
        const typeof(*(ptr)) __user * __gu_addr = (ptr);                \
        int __gu_err = 0;                                               \
                                                                        \
@@ -222,10 +215,6 @@ extern int __put_user_bad(void);
                        __get_user_asm("w", __gu_val, __gu_addr,        \
                                       __gu_err);                       \
                        break;                                          \
-               case 8:                                                 \
-                       __get_user_asm("d", __gu_val, __gu_addr,        \
-                                      __gu_err);                       \
-                       break;                                          \
                default:                                                \
                        __gu_err = __get_user_bad();                    \
                        break;                                          \
@@ -233,7 +222,7 @@ extern int __put_user_bad(void);
        } else {                                                        \
                __gu_err = -EFAULT;                                     \
        }                                                               \
-       x = __gu_val;                                                   \
+       x = (typeof(*(ptr)))__gu_val;                                   \
        __gu_err;                                                       \
 })