]> git.karo-electronics.de Git - linux-beck.git/blobdiff - include/asm-x86/uaccess_64.h
x86: turn __put_user_check directly into put_user.
[linux-beck.git] / include / asm-x86 / uaccess_64.h
index 42a9769687e9e7a2f99ac62cc3575a8bfbc7b6c9..9139854d37b095d364e49b2b6ffd3f99ea6922c0 100644 (file)
@@ -23,9 +23,6 @@ extern void __put_user_bad(void);
                     :"c" (ptr),"a" (x)                                 \
                     :"ebx")
 
-#define put_user(x, ptr)                                               \
-       __put_user_check((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
-
 #define __get_user(x, ptr)                                             \
        __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
 #define __put_user(x, ptr)                                             \
@@ -34,11 +31,12 @@ extern void __put_user_bad(void);
 #define __get_user_unaligned __get_user
 #define __put_user_unaligned __put_user
 
-#define __put_user_check(x, ptr, size)                         \
+#define put_user(x, ptr)                                       \
 ({                                                             \
        int __pu_err;                                           \
        typeof(*(ptr)) __user *__pu_addr = (ptr);               \
-       switch (size) {                                         \
+       __chk_user_ptr(ptr);                                    \
+       switch (sizeof(*(ptr))) {                               \
        case 1:                                                 \
                __put_user_x(1, __pu_err, x, __pu_addr);        \
                break;                                          \