diff options
Diffstat (limited to 'kernel/arch/mn10300')
-rw-r--r-- | kernel/arch/mn10300/include/asm/uaccess.h | 1 | ||||
-rw-r--r-- | kernel/arch/mn10300/lib/usercopy.c | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/kernel/arch/mn10300/include/asm/uaccess.h b/kernel/arch/mn10300/include/asm/uaccess.h index 537278746..4af43d9ba 100644 --- a/kernel/arch/mn10300/include/asm/uaccess.h +++ b/kernel/arch/mn10300/include/asm/uaccess.h @@ -181,6 +181,7 @@ struct __large_struct { unsigned long buf[100]; }; "2:\n" \ " .section .fixup,\"ax\"\n" \ "3:\n\t" \ + " mov 0,%1\n" \ " mov %3,%0\n" \ " jmp 2b\n" \ " .previous\n" \ diff --git a/kernel/arch/mn10300/lib/usercopy.c b/kernel/arch/mn10300/lib/usercopy.c index 7826e6c36..ce8899e5e 100644 --- a/kernel/arch/mn10300/lib/usercopy.c +++ b/kernel/arch/mn10300/lib/usercopy.c @@ -9,7 +9,7 @@ * as published by the Free Software Foundation; either version * 2 of the Licence, or (at your option) any later version. */ -#include <asm/uaccess.h> +#include <linux/uaccess.h> unsigned long __generic_copy_to_user(void *to, const void *from, unsigned long n) @@ -24,6 +24,8 @@ __generic_copy_from_user(void *to, const void *from, unsigned long n) { if (access_ok(VERIFY_READ, from, n)) __copy_user_zeroing(to, from, n); + else + memset(to, 0, n); return n; } |