summaryrefslogtreecommitdiffstats
path: root/kernel/arch/mn10300
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/arch/mn10300')
-rw-r--r--kernel/arch/mn10300/include/asm/uaccess.h1
-rw-r--r--kernel/arch/mn10300/lib/usercopy.c4
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;
}