diff options
author | James Hogan <james.hogan@imgtec.com> | 2015-08-05 18:41:39 +0300 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-12-22 13:58:43 +0300 |
commit | d6a428fb583738ad685c91a684748cdee7b2a05f (patch) | |
tree | a0c987da5c8d66400b4cb40628921a775bc99ae8 /arch/mips/lib/memset.S | |
parent | 6f06a2c45d8d714ea3b11a360b4a7191e52acaa4 (diff) | |
download | linux-d6a428fb583738ad685c91a684748cdee7b2a05f.tar.xz |
MIPS: uaccess: Take EVA into account in [__]clear_user
__clear_user() (and clear_user() which uses it), always access the user
mode address space, which results in EVA store instructions when EVA is
enabled even if the current user address limit is KERNEL_DS.
Fix this by adding a new symbol __bzero_kernel for the normal kernel
address space bzero in EVA mode, and call that from __clear_user() if
eva_kernel_access().
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Markos Chandras <markos.chandras@imgtec.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Leonid Yegoshin <leonid.yegoshin@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/10844/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/lib/memset.S')
-rw-r--r-- | arch/mips/lib/memset.S | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mips/lib/memset.S b/arch/mips/lib/memset.S index b8e63fd00375..8f0019a2e5c8 100644 --- a/arch/mips/lib/memset.S +++ b/arch/mips/lib/memset.S @@ -283,6 +283,8 @@ LEAF(memset) 1: #ifndef CONFIG_EVA FEXPORT(__bzero) +#else +FEXPORT(__bzero_kernel) #endif __BUILD_BZERO LEGACY_MODE |