metag: copy_from_user() should zero the destination on access_ok() failure

Cc: stable@vger.kernel.org
Acked-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2016-08-18 22:08:20 -04:00
Родитель a5e541f796
Коммит 8ae95ed4ae
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -204,8 +204,9 @@ extern unsigned long __must_check __copy_user_zeroing(void *to,
static inline unsigned long static inline unsigned long
copy_from_user(void *to, const void __user *from, unsigned long n) copy_from_user(void *to, const void __user *from, unsigned long n)
{ {
if (access_ok(VERIFY_READ, from, n)) if (likely(access_ok(VERIFY_READ, from, n)))
return __copy_user_zeroing(to, from, n); return __copy_user_zeroing(to, from, n);
memset(to, 0, n);
return n; return n;
} }