diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-08-20 16:33:10 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-09-13 17:49:42 -0400 |
commit | ae7cc577ec2a4a6151c9e928fd1f595d953ecef1 (patch) | |
tree | f5e96216d665c7c4e4e839a0c5322ba1e8c775b6 /arch/mn10300/lib/usercopy.c | |
parent | 43403eabf558d2800b429cd886e996fd555aa542 (diff) |
mn10300: copy_from_user() should zero on access_ok() failure...
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/mn10300/lib/usercopy.c')
-rw-r--r-- | arch/mn10300/lib/usercopy.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/mn10300/lib/usercopy.c b/arch/mn10300/lib/usercopy.c index 7826e6c364e7..ce8899e5e171 100644 --- a/arch/mn10300/lib/usercopy.c +++ b/arch/mn10300/lib/usercopy.c | |||
@@ -9,7 +9,7 @@ | |||
9 | * as published by the Free Software Foundation; either version | 9 | * as published by the Free Software Foundation; either version |
10 | * 2 of the Licence, or (at your option) any later version. | 10 | * 2 of the Licence, or (at your option) any later version. |
11 | */ | 11 | */ |
12 | #include <asm/uaccess.h> | 12 | #include <linux/uaccess.h> |
13 | 13 | ||
14 | unsigned long | 14 | unsigned long |
15 | __generic_copy_to_user(void *to, const void *from, unsigned long n) | 15 | __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) | |||
24 | { | 24 | { |
25 | if (access_ok(VERIFY_READ, from, n)) | 25 | if (access_ok(VERIFY_READ, from, n)) |
26 | __copy_user_zeroing(to, from, n); | 26 | __copy_user_zeroing(to, from, n); |
27 | else | ||
28 | memset(to, 0, n); | ||
27 | return n; | 29 | return n; |
28 | } | 30 | } |
29 | 31 | ||