On Fri, Jul 12, 2019 at 10:57:59AM +0530, Viresh Kumar wrote:
From: Will Deacon will.deacon@arm.com
commit f71c2ffcb20dd8626880747557014bb9a61eb90e upstream.
Like we've done for get_user and put_user, ensure that user pointers are masked before invoking the underlying __arch_{clear,copy_*}_user operations.
Signed-off-by: Will Deacon will.deacon@arm.com Signed-off-by: Catalin Marinas catalin.marinas@arm.com [ v4.4: fixup for v4.4 style uaccess primitives ] Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
[...]
static inline unsigned long __must_check __copy_from_user(void *to, const void __user *from, unsigned long n) { kasan_check_write(to, n);
- return __arch_copy_from_user(to, from, n);
- return __arch_copy_from_user(to, __uaccess_mask_ptr(from), n);
} static inline unsigned long __must_check __copy_to_user(void __user *to, const void *from, unsigned long n) { kasan_check_read(from, n);
- return __arch_copy_to_user(to, from, n);
- return __arch_copy_to_user(__uaccess_mask_ptr(to), from, n);
}
Can we please drop the trailing whitespace from each of these? That wasn't in the upstreadm commit or v4.9.y.
Otherwise, this looks fine.
Thanks, Mark.