git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sh: fix copy_from_user()
[pandora-kernel.git]
/
arch
/
sh
/
include
/
asm
/
uaccess.h
diff --git
a/arch/sh/include/asm/uaccess.h
b/arch/sh/include/asm/uaccess.h
index
075848f
..
0e79711
100644
(file)
--- a/
arch/sh/include/asm/uaccess.h
+++ b/
arch/sh/include/asm/uaccess.h
@@
-175,7
+175,10
@@
copy_from_user(void *to, const void __user *from, unsigned long n)
__kernel_size_t __copy_size = (__kernel_size_t) n;
if (__copy_size && __access_ok(__copy_from, __copy_size))
__kernel_size_t __copy_size = (__kernel_size_t) n;
if (__copy_size && __access_ok(__copy_from, __copy_size))
- return __copy_user(to, from, __copy_size);
+ __copy_size = __copy_user(to, from, __copy_size);
+
+ if (unlikely(__copy_size))
+ memset(to + (n - __copy_size), 0, __copy_size);
return __copy_size;
}
return __copy_size;
}