forked from crash-utility/crash
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
arm64: support HW Tag-Based KASAN (MTE) mode
Kernel commit 2e903b914797 ("kasan, arm64: implement HW_TAGS runtime") introduced Hardware Tag-Based KASAN (MTE) mode for ARMv8.5 and later CPUs, which uses the Top Byte Ignore (TBI) feature of arm64 CPUs to store a pointer tag in the top byte of kernel pointers. Currently, crash utility cannot load MTE ramdump due to access invalid HW Tag-Based kernel virtual addresses. Here's the example error message: please wait... (gathering kmem slab cache data) crash: invalid kernel virtual address: f1ffff80c000201c type: "kmem_cache objsize/object_size" please wait... (gathering task table data) crash: invalid kernel virtual address: f9ffff8239c2cde0 type: "xa_node shift" This patch replaces the orignal generic_is_kvaddr() with arm64_is_kvaddr(), which checks the validity for a HW Tag-Based kvaddr. mte_tag_reset() is used to convert a Tag-Based kvaddr to untaggged kvaddr in arm64_VTOP() and arm64_IS_VMALLOC_ADDR(). Signed-off-by: chenqiwu <[email protected]> Signed-off-by: Kazuhito Hagio <[email protected]>
- Loading branch information
1 parent
53d2577
commit edb2bd5
Showing
2 changed files
with
50 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters