X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-x86_64%2Fuaccess.h;h=cc3752357004590241dd80861abbe7784dd81c69;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=a7b9d33053c4d6d13297df96427929160a496a78;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/include/asm-x86_64/uaccess.h b/include/asm-x86_64/uaccess.h index a7b9d3305..cc3752357 100644 --- a/include/asm-x86_64/uaccess.h +++ b/include/asm-x86_64/uaccess.h @@ -102,7 +102,7 @@ extern void __get_user_8(void); /* Careful: we have to cast the result to the type of the pointer for sign reasons */ #define get_user(x,ptr) \ -({ long __val_gu; \ +({ unsigned long __val_gu; \ int __ret_gu; \ __chk_user_ptr(ptr); \ switch(sizeof (*(ptr))) { \ @@ -172,7 +172,7 @@ do { \ /* FIXME: this hack is definitely wrong -AK */ struct __large_struct { unsigned long buf[100]; }; -#define __m(x) (*(struct __large_struct *)(x)) +#define __m(x) (*(struct __large_struct __user *)(x)) /* * Tell gcc we read from memory instead of writing: this is because @@ -198,7 +198,7 @@ struct __large_struct { unsigned long buf[100]; }; #define __get_user_nocheck(x,ptr,size) \ ({ \ int __gu_err; \ - long __gu_val; \ + unsigned long __gu_val; \ __get_user_size(__gu_val,(ptr),(size),__gu_err); \ (x) = (__typeof__(*(ptr)))__gu_val; \ __gu_err; \