diff options
Diffstat (limited to 'arch/ia64/include/asm/uaccess.h')
-rw-r--r-- | arch/ia64/include/asm/uaccess.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/ia64/include/asm/uaccess.h b/arch/ia64/include/asm/uaccess.h index 103bedc59644..4f3fb6ccbf21 100644 --- a/arch/ia64/include/asm/uaccess.h +++ b/arch/ia64/include/asm/uaccess.h | |||
@@ -169,10 +169,11 @@ do { \ | |||
169 | (err) = ia64_getreg(_IA64_REG_R8); \ | 169 | (err) = ia64_getreg(_IA64_REG_R8); \ |
170 | (val) = ia64_getreg(_IA64_REG_R9); \ | 170 | (val) = ia64_getreg(_IA64_REG_R9); \ |
171 | } while (0) | 171 | } while (0) |
172 | # define __put_user_size(val, addr, n, err) \ | 172 | # define __put_user_size(val, addr, n, err) \ |
173 | do { \ | 173 | do { \ |
174 | __st_user("__ex_table", (unsigned long) addr, n, RELOC_TYPE, (unsigned long) (val)); \ | 174 | __st_user("__ex_table", (unsigned long) addr, n, RELOC_TYPE, \ |
175 | (err) = ia64_getreg(_IA64_REG_R8); \ | 175 | (__force unsigned long) (val)); \ |
176 | (err) = ia64_getreg(_IA64_REG_R8); \ | ||
176 | } while (0) | 177 | } while (0) |
177 | #endif /* !ASM_SUPPORTED */ | 178 | #endif /* !ASM_SUPPORTED */ |
178 | 179 | ||
@@ -197,7 +198,7 @@ extern void __get_user_unknown (void); | |||
197 | case 8: __get_user_size(__gu_val, __gu_ptr, 8, __gu_err); break; \ | 198 | case 8: __get_user_size(__gu_val, __gu_ptr, 8, __gu_err); break; \ |
198 | default: __get_user_unknown(); break; \ | 199 | default: __get_user_unknown(); break; \ |
199 | } \ | 200 | } \ |
200 | (x) = (__typeof__(*(__gu_ptr))) __gu_val; \ | 201 | (x) = (__force __typeof__(*(__gu_ptr))) __gu_val; \ |
201 | __gu_err; \ | 202 | __gu_err; \ |
202 | }) | 203 | }) |
203 | 204 | ||