diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2007-02-13 14:45:24 +0300 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-02-14 01:40:51 +0300 |
commit | cb66fb3f156b485b22db97db22e96db4786dc68b (patch) | |
tree | 72423101605fc154a03fb370b21b7702f5c4810b | |
parent | d01f06ef0c783eceb53030fc5407caa94586bd6a (diff) | |
download | linux-cb66fb3f156b485b22db97db22e96db4786dc68b.tar.xz |
[MIPS] 32-bit: Fix warning about cast for fetching pointer from userspace.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | include/asm-mips/uaccess.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/asm-mips/uaccess.h b/include/asm-mips/uaccess.h index c12ebc53ef31..36b3a427f123 100644 --- a/include/asm-mips/uaccess.h +++ b/include/asm-mips/uaccess.h @@ -265,7 +265,10 @@ do { \ */ #define __get_user_asm_ll32(val, addr) \ { \ - unsigned long long __gu_tmp; \ + union { \ + unsigned long long l; \ + __typeof__(*(addr)) t; \ + } __gu_tmp; \ \ __asm__ __volatile__( \ "1: lw %1, (%3) \n" \ @@ -281,9 +284,10 @@ do { \ " " __UA_ADDR " 1b, 4b \n" \ " " __UA_ADDR " 2b, 4b \n" \ " .previous \n" \ - : "=r" (__gu_err), "=&r" (__gu_tmp) \ + : "=r" (__gu_err), "=&r" (__gu_tmp.l) \ : "0" (0), "r" (addr), "i" (-EFAULT)); \ - (val) = (__typeof__(*(addr))) __gu_tmp; \ + \ + (val) = __gu_tmp.t; \ } /* |