diff options
author | Will Deacon <will.deacon@arm.com> | 2017-08-10 15:58:16 +0300 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2017-12-11 16:40:35 +0300 |
commit | 27a921e75711d924617269e0ba4adb8bae9fd0d1 (patch) | |
tree | bb4db9089fb6bb5606197222704a7522d2c9b2c6 /arch/arm64/mm | |
parent | 158d495899ce55db453f682a8ac8390d5a426578 (diff) | |
download | linux-27a921e75711d924617269e0ba4adb8bae9fd0d1.tar.xz |
arm64: mm: Fix and re-enable ARM64_SW_TTBR0_PAN
With the ASID now installed in TTBR1, we can re-enable ARM64_SW_TTBR0_PAN
by ensuring that we switch to a reserved ASID of zero when disabling
user access and restore the active user ASID on the uaccess enable path.
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Laura Abbott <labbott@redhat.com>
Tested-by: Shanker Donthineni <shankerd@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/mm')
-rw-r--r-- | arch/arm64/mm/cache.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/mm/cache.S b/arch/arm64/mm/cache.S index 7f1dbe962cf5..6cd20a8c0952 100644 --- a/arch/arm64/mm/cache.S +++ b/arch/arm64/mm/cache.S @@ -49,7 +49,7 @@ ENTRY(flush_icache_range) * - end - virtual end address of region */ ENTRY(__flush_cache_user_range) - uaccess_ttbr0_enable x2, x3 + uaccess_ttbr0_enable x2, x3, x4 dcache_line_size x2, x3 sub x3, x2, #1 bic x4, x0, x3 |