summaryrefslogtreecommitdiff
path: root/arch/arm/lib/uaccess_with_memcpy.c
diff options
context:
space:
mode:
authorJulien Thierry <julien.thierry@arm.com>2018-09-11 12:15:12 +0300
committerRussell King <rmk+kernel@armlinux.org.uk>2018-10-05 12:51:15 +0300
commita1d09e074250fad24f1b993f327b18cc6812eb7a (patch)
tree92904d2fbb862da96ffdfa670f7ab1556239553f /arch/arm/lib/uaccess_with_memcpy.c
parentafaf6838f4bc896a711180b702b388b8cfa638fc (diff)
downloadlinux-a1d09e074250fad24f1b993f327b18cc6812eb7a.tar.xz
ARM: 8797/1: spectre-v1.1: harden __copy_to_user
Sanitize user pointer given to __copy_to_user, both for standard version and memcopy version of the user accessor. Signed-off-by: Julien Thierry <julien.thierry@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/lib/uaccess_with_memcpy.c')
-rw-r--r--arch/arm/lib/uaccess_with_memcpy.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c
index 9b4ed1728616..73dc7360cbdd 100644
--- a/arch/arm/lib/uaccess_with_memcpy.c
+++ b/arch/arm/lib/uaccess_with_memcpy.c
@@ -152,7 +152,8 @@ arm_copy_to_user(void __user *to, const void *from, unsigned long n)
n = __copy_to_user_std(to, from, n);
uaccess_restore(ua_flags);
} else {
- n = __copy_to_user_memcpy(to, from, n);
+ n = __copy_to_user_memcpy(uaccess_mask_range_ptr(to, n),
+ from, n);
}
return n;
}