diff options
author | Julien Thierry <julien.thierry@arm.com> | 2018-09-11 12:15:12 +0300 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2018-10-05 12:51:15 +0300 |
commit | a1d09e074250fad24f1b993f327b18cc6812eb7a (patch) | |
tree | 92904d2fbb862da96ffdfa670f7ab1556239553f /arch/arm/lib/copy_to_user.S | |
parent | afaf6838f4bc896a711180b702b388b8cfa638fc (diff) | |
download | linux-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/copy_to_user.S')
-rw-r--r-- | arch/arm/lib/copy_to_user.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S index caf5019d8161..970abe521197 100644 --- a/arch/arm/lib/copy_to_user.S +++ b/arch/arm/lib/copy_to_user.S @@ -94,6 +94,11 @@ ENTRY(__copy_to_user_std) WEAK(arm_copy_to_user) +#ifdef CONFIG_CPU_SPECTRE + get_thread_info r3 + ldr r3, [r3, #TI_ADDR_LIMIT] + uaccess_mask_range_ptr r0, r2, r3, ip +#endif #include "copy_template.S" @@ -108,4 +113,3 @@ ENDPROC(__copy_to_user_std) rsb r0, r0, r2 copy_abort_end .popsection - |