vserver 1.9.5.x5
[linux-2.6.git] / include / asm-alpha / uaccess.h
index 474d066..a656a38 100644 (file)
@@ -91,7 +91,8 @@ extern void __get_user_unknown(void);
 
 #define __get_user_nocheck(x,ptr,size)                         \
 ({                                                             \
-       long __gu_err = 0, __gu_val;                            \
+       long __gu_err = 0;                                      \
+       unsigned long __gu_val;                                 \
        __chk_user_ptr(ptr);                                    \
        switch (size) {                                         \
          case 1: __get_user_8(ptr); break;                     \
@@ -106,7 +107,8 @@ extern void __get_user_unknown(void);
 
 #define __get_user_check(x,ptr,size,segment)                           \
 ({                                                                     \
-       long __gu_err = -EFAULT, __gu_val = 0;                          \
+       long __gu_err = -EFAULT;                                        \
+       unsigned long __gu_val = 0;                                     \
        const __typeof__(*(ptr)) __user *__gu_addr = (ptr);             \
        if (__access_ok((unsigned long)__gu_addr,size,segment)) {       \
                __gu_err = 0;                                           \
@@ -123,7 +125,7 @@ extern void __get_user_unknown(void);
 })
 
 struct __large_struct { unsigned long buf[100]; };
-#define __m(x) (*(struct __large_struct *)(x))
+#define __m(x) (*(struct __large_struct __user *)(x))
 
 #define __get_user_64(addr)                            \
        __asm__("1: ldq %0,%2\n"                        \