diff options
author | Peter Collingbourne <pcc@google.com> | 2020-11-21 10:59:02 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2020-11-25 17:53:19 +0100 |
commit | 49b3cf035edc5d7deb3ad1bf6805ce456ababc5b (patch) | |
tree | 274247e95ef4c456f3ef4e8530929054138bfb1c /arch/arm64/mm/proc.S | |
parent | arm64: mte: optimize asynchronous tag check fault flag check (diff) | |
download | linux-49b3cf035edc5d7deb3ad1bf6805ce456ababc5b.tar.xz linux-49b3cf035edc5d7deb3ad1bf6805ce456ababc5b.zip |
kasan: arm64: set TCR_EL1.TBID1 when enabled
On hardware supporting pointer authentication, we previously ended up
enabling TBI on instruction accesses when tag-based ASAN was enabled,
but this was costing us 8 bits of PAC entropy, which was unnecessary
since tag-based ASAN does not require TBI on instruction accesses. Get
them back by setting TCR_EL1.TBID1.
Signed-off-by: Peter Collingbourne <pcc@google.com>
Reviewed-by: Andrey Konovalov <andreyknvl@google.com>
Link: https://linux-review.googlesource.com/id/I3dded7824be2e70ea64df0aabab9598d5aebfcc4
Link: https://lore.kernel.org/r/20f64e26fc8a1309caa446fffcb1b4e2fe9e229f.1605952129.git.pcc@google.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/mm/proc.S')
-rw-r--r-- | arch/arm64/mm/proc.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S index 0eaf16b0442a..04945f72c64d 100644 --- a/arch/arm64/mm/proc.S +++ b/arch/arm64/mm/proc.S @@ -40,7 +40,7 @@ #define TCR_CACHE_FLAGS TCR_IRGN_WBWA | TCR_ORGN_WBWA #ifdef CONFIG_KASAN_SW_TAGS -#define TCR_KASAN_FLAGS TCR_TBI1 +#define TCR_KASAN_FLAGS TCR_TBI1 | TCR_TBID1 #else #define TCR_KASAN_FLAGS 0 #endif |