2008-12-09 03:18:49

by Hiroshi Shimamoto

[permalink] [raw]
Subject: [PATCH] x86: uaccess: return value of __{get|put}_user() can be int

From: Hiroshi Shimamoto <[email protected]>

Impact: cleanup

The type of return value of __{get|put}_user() can be int.
There is no user to refer the return value of __{get|put}_user() as long.
This reduces code size a bit on 64-bit.

$ size vmlinux.*
text data bss dec hex filename
4509265 479988 673588 5662841 566879 vmlinux.new
4511462 479988 673588 5665038 56710e vmlinux.old

Signed-off-by: Hiroshi Shimamoto <[email protected]>
---
arch/x86/include/asm/uaccess.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h
index 99192bb..4340055 100644
--- a/arch/x86/include/asm/uaccess.h
+++ b/arch/x86/include/asm/uaccess.h
@@ -352,14 +352,14 @@ do { \

#define __put_user_nocheck(x, ptr, size) \
({ \
- long __pu_err; \
+ int __pu_err; \
__put_user_size((x), (ptr), (size), __pu_err, -EFAULT); \
__pu_err; \
})

#define __get_user_nocheck(x, ptr, size) \
({ \
- long __gu_err; \
+ int __gu_err; \
unsigned long __gu_val; \
__get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
(x) = (__force __typeof__(*(ptr)))__gu_val; \
--
1.6.0.4


2008-12-12 11:01:22

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86: uaccess: return value of __{get|put}_user() can be int


* Hiroshi Shimamoto <[email protected]> wrote:

> From: Hiroshi Shimamoto <[email protected]>
>
> Impact: cleanup
>
> The type of return value of __{get|put}_user() can be int.
> There is no user to refer the return value of __{get|put}_user() as long.
> This reduces code size a bit on 64-bit.
>
> $ size vmlinux.*
> text data bss dec hex filename
> 4509265 479988 673588 5662841 566879 vmlinux.new
> 4511462 479988 673588 5665038 56710e vmlinux.old
>
> Signed-off-by: Hiroshi Shimamoto <[email protected]>
> ---
> arch/x86/include/asm/uaccess.h | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)

applied to tip/x86/mm, thanks!

Ingo