|
@@ -76,7 +76,7 @@ asm volatile ("\n" \
|
|
|
break; \
|
|
|
case 8: \
|
|
|
{ \
|
|
|
- const void *__pu_ptr = (ptr); \
|
|
|
+ const void __user *__pu_ptr = (ptr); \
|
|
|
asm volatile ("\n" \
|
|
|
"1: moves.l %2,(%1)+\n" \
|
|
|
"2: moves.l %R2,(%1)\n" \
|
|
@@ -125,7 +125,7 @@ asm volatile ("\n" \
|
|
|
" .previous" \
|
|
|
: "+d" (res), "=&" #reg (__gu_val) \
|
|
|
: "m" (*(ptr)), "i" (err)); \
|
|
|
- (x) = (typeof(*(ptr)))(long)__gu_val; \
|
|
|
+ (x) = (typeof(*(ptr)))(unsigned long)__gu_val; \
|
|
|
})
|
|
|
|
|
|
#define __get_user(x, ptr) \
|
|
@@ -221,16 +221,16 @@ __constant_copy_from_user(void *to, const void __user *from, unsigned long n)
|
|
|
|
|
|
switch (n) {
|
|
|
case 1:
|
|
|
- __get_user_asm(res, *(u8 *)to, (u8 *)from, u8, b, d, 1);
|
|
|
+ __get_user_asm(res, *(u8 *)to, (u8 __user *)from, u8, b, d, 1);
|
|
|
break;
|
|
|
case 2:
|
|
|
- __get_user_asm(res, *(u16 *)to, (u16 *)from, u16, w, d, 2);
|
|
|
+ __get_user_asm(res, *(u16 *)to, (u16 __user *)from, u16, w, d, 2);
|
|
|
break;
|
|
|
case 3:
|
|
|
__constant_copy_from_user_asm(res, to, from, tmp, 3, w, b,);
|
|
|
break;
|
|
|
case 4:
|
|
|
- __get_user_asm(res, *(u32 *)to, (u32 *)from, u32, l, r, 4);
|
|
|
+ __get_user_asm(res, *(u32 *)to, (u32 __user *)from, u32, l, r, 4);
|
|
|
break;
|
|
|
case 5:
|
|
|
__constant_copy_from_user_asm(res, to, from, tmp, 5, l, b,);
|
|
@@ -302,16 +302,16 @@ __constant_copy_to_user(void __user *to, const void *from, unsigned long n)
|
|
|
|
|
|
switch (n) {
|
|
|
case 1:
|
|
|
- __put_user_asm(res, *(u8 *)from, (u8 *)to, b, d, 1);
|
|
|
+ __put_user_asm(res, *(u8 *)from, (u8 __user *)to, b, d, 1);
|
|
|
break;
|
|
|
case 2:
|
|
|
- __put_user_asm(res, *(u16 *)from, (u16 *)to, w, d, 2);
|
|
|
+ __put_user_asm(res, *(u16 *)from, (u16 __user *)to, w, d, 2);
|
|
|
break;
|
|
|
case 3:
|
|
|
__constant_copy_to_user_asm(res, to, from, tmp, 3, w, b,);
|
|
|
break;
|
|
|
case 4:
|
|
|
- __put_user_asm(res, *(u32 *)from, (u32 *)to, l, r, 4);
|
|
|
+ __put_user_asm(res, *(u32 *)from, (u32 __user *)to, l, r, 4);
|
|
|
break;
|
|
|
case 5:
|
|
|
__constant_copy_to_user_asm(res, to, from, tmp, 5, l, b,);
|