#define put_user(x, ptr)                                       \
 ({                                                             \
-       void *__p = (ptr);                                      \
+       void __user *__p = (ptr);                               \
        might_fault();                                          \
        access_ok(VERIFY_WRITE, __p, sizeof(*ptr)) ?            \
-               __put_user((x), ((__typeof__(*(ptr)) *)__p)) :  \
+               __put_user((x), ((__typeof__(*(ptr)) __user *)__p)) :   \
                -EFAULT;                                        \
 })
 
 
 #define get_user(x, ptr)                                       \
 ({                                                             \
-       const void *__p = (ptr);                                \
+       const void __user *__p = (ptr);                         \
        might_fault();                                          \
        access_ok(VERIFY_READ, __p, sizeof(*ptr)) ?             \
-               __get_user((x), (__typeof__(*(ptr)) *)__p) :    \
+               __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
                ((x) = (__typeof__(*(ptr)))0,-EFAULT);          \
 })