1 diff -Naur 2.6.12-5.0-org/include/asm-mips/uaccess.h 2.6.12-5.0-patched/include/asm-mips/uaccess.h
2 --- 2.6.12-5.0-org/include/asm-mips/uaccess.h 2007-07-26 00:56:08.000000000 +0200
3 +++ 2.6.12-5.0-patched/include/asm-mips/uaccess.h 2007-12-11 12:34:52.000000000 +0100
6 #define __get_user_nocheck(x,ptr,size) \
8 - __typeof(*(ptr)) __gu_val = (__typeof(*(ptr))) 0; \
13 - case 1: __get_user_asm("lb", ptr); break; \
14 - case 2: __get_user_asm("lh", ptr); break; \
15 - case 4: __get_user_asm("lw", ptr); break; \
16 - case 8: __GET_USER_DW(ptr); break; \
18 + s8 __gu_val = (s8) 0; \
19 + __get_user_asm("lb", ptr); \
20 + (x) = (__typeof__(*(ptr))) __gu_val; \
24 + s16 __gu_val = (s16) 0; \
25 + __get_user_asm("lh", ptr); \
26 + (x) = (__typeof__(*(ptr))) __gu_val; \
30 + s32 __gu_val = (s32) 0; \
31 + __get_user_asm("lw", ptr); \
32 + (x) = (__typeof__(*(ptr))) __gu_val; \
36 + s64 __gu_val = (s64) 0; \
37 + __GET_USER_DW(ptr); \
38 + (x) = (__typeof__(*(ptr))) __gu_val; \
41 default: __get_user_unknown(); break; \
43 - (x) = (__typeof__(*(ptr))) __gu_val; \
47 #define __get_user_check(x,ptr,size) \
49 const __typeof__(*(ptr)) __user * __gu_addr = (ptr); \
50 - __typeof__(*(ptr)) __gu_val = 0; \
51 long __gu_err = -EFAULT; \
55 if (likely(access_ok(VERIFY_READ, __gu_addr, size))) { \
57 - case 1: __get_user_asm("lb", __gu_addr); break; \
58 - case 2: __get_user_asm("lh", __gu_addr); break; \
59 - case 4: __get_user_asm("lw", __gu_addr); break; \
60 - case 8: __GET_USER_DW(__gu_addr); break; \
62 + s8 __gu_val = (s8) 0; \
63 + __get_user_asm("lb", ptr); \
64 + (x) = (__typeof__(*(ptr))) __gu_val; \
68 + s16 __gu_val = (s16) 0; \
69 + __get_user_asm("lh", ptr); \
70 + (x) = (__typeof__(*(ptr))) __gu_val; \
74 + s32 __gu_val = (s32) 0; \
75 + __get_user_asm("lw", ptr); \
76 + (x) = (__typeof__(*(ptr))) __gu_val; \
80 + s64 __gu_val = (s64) 0; \
81 + __GET_USER_DW(ptr); \
82 + (x) = (__typeof__(*(ptr))) __gu_val; \
85 default: __get_user_unknown(); break; \
88 - (x) = (__typeof__(*(ptr))) __gu_val; \