mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-26 20:40:24 +09:00
UPSTREAM: kasan, arm64: add arch_suppress_tag_checks_start/stop
Add two new tagging-related routines arch_suppress_tag_checks_start/stop
that suppress MTE tag checking via the TCO register.
These rouines are used in the next patch.
[andreyknvl@google.com: drop __ from mte_disable/enable_tco names]
Link: https://lkml.kernel.org/r/7ad5e5a9db79e3aba08d8f43aca24350b04080f6.1680114854.git.andreyknvl@google.com
Link: https://lkml.kernel.org/r/75a362551c3c54b70ae59a3492cabb51c105fa6b.1678491668.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Evgenii Stepanov <eugenis@google.com>
Cc: Marco Elver <elver@google.com>
Cc: Peter Collingbourne <pcc@google.com>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Weizhao Ouyang <ouyangweizhao@zeku.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Bug: 254721825
(cherry picked from commit 0d3c9468be)
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Change-Id: I6aa222a78aa299280f334a4a216bc7719af5a2ef
This commit is contained in:
committed by
Treehugger Robot
parent
03471b2b03
commit
47c669cde1
@@ -252,6 +252,8 @@ static inline const void *__tag_set(const void *addr, u8 tag)
|
||||
#define arch_enable_tag_checks_sync() mte_enable_kernel_sync()
|
||||
#define arch_enable_tag_checks_async() mte_enable_kernel_async()
|
||||
#define arch_enable_tag_checks_asymm() mte_enable_kernel_asymm()
|
||||
#define arch_suppress_tag_checks_start() mte_enable_tco()
|
||||
#define arch_suppress_tag_checks_stop() mte_disable_tco()
|
||||
#define arch_force_async_tag_fault() mte_check_tfsr_exit()
|
||||
#define arch_get_random_tag() mte_get_random_tag()
|
||||
#define arch_get_mem_tag(addr) mte_get_mem_tag(addr)
|
||||
|
||||
@@ -402,6 +402,8 @@ static inline const void *arch_kasan_set_tag(const void *addr, u8 tag)
|
||||
#define hw_enable_tag_checks_sync() arch_enable_tag_checks_sync()
|
||||
#define hw_enable_tag_checks_async() arch_enable_tag_checks_async()
|
||||
#define hw_enable_tag_checks_asymm() arch_enable_tag_checks_asymm()
|
||||
#define hw_suppress_tag_checks_start() arch_suppress_tag_checks_start()
|
||||
#define hw_suppress_tag_checks_stop() arch_suppress_tag_checks_stop()
|
||||
#define hw_force_async_tag_fault() arch_force_async_tag_fault()
|
||||
#define hw_get_random_tag() arch_get_random_tag()
|
||||
#define hw_get_mem_tag(addr) arch_get_mem_tag(addr)
|
||||
|
||||
Reference in New Issue
Block a user