diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2008-10-11 19:18:50 +0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-10-11 19:18:50 +0400 |
commit | 8d2d91e86b4153cc2305ec86fe908048f459ff7f (patch) | |
tree | 07c64a1267d2b6f07da7b4be340e8823baea85a4 /include/asm-mips/uaccess.h | |
parent | b6263ff2d6e58cc2fe615219ab2a06778b5e6cef (diff) | |
download | linux-8d2d91e86b4153cc2305ec86fe908048f459ff7f.tar.xz |
MIPS: Optimize get_user and put_user for 64-bit
A long for the error value leads to unnecessary sign extensions. This
patch shrinks an ip27_defconfig kernel build with gcc 4.3.0 by 2256 bytes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/uaccess.h')
-rw-r--r-- | include/asm-mips/uaccess.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-mips/uaccess.h b/include/asm-mips/uaccess.h index 66523d610950..b895144d577a 100644 --- a/include/asm-mips/uaccess.h +++ b/include/asm-mips/uaccess.h @@ -224,7 +224,7 @@ do { \ #define __get_user_nocheck(x, ptr, size) \ ({ \ - long __gu_err; \ + int __gu_err; \ \ __get_user_common((x), size, ptr); \ __gu_err; \ @@ -232,7 +232,7 @@ do { \ #define __get_user_check(x, ptr, size) \ ({ \ - long __gu_err = -EFAULT; \ + int __gu_err = -EFAULT; \ const __typeof__(*(ptr)) __user * __gu_ptr = (ptr); \ \ if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \ @@ -304,7 +304,7 @@ do { \ #define __put_user_nocheck(x, ptr, size) \ ({ \ __typeof__(*(ptr)) __pu_val; \ - long __pu_err = 0; \ + int __pu_err = 0; \ \ __pu_val = (x); \ switch (size) { \ @@ -321,7 +321,7 @@ do { \ ({ \ __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ __typeof__(*(ptr)) __pu_val = (x); \ - long __pu_err = -EFAULT; \ + int __pu_err = -EFAULT; \ \ if (likely(access_ok(VERIFY_WRITE, __pu_addr, size))) { \ switch (size) { \ |