arm64: mte: Handle synchronous and asynchronous tag check faults
The Memory Tagging Extension has two modes of notifying a tag check fault at EL0, configurable through the SCTLR_EL1.TCF0 field: 1. Synchronous raising of a Data Abort exception with DFSC 17. 2. Asynchronous setting of a cumulative bit in TFSRE0_EL1. Add the exception handler for the synchronous exception and handling of the asynchronous TFSRE0_EL1.TF0 bit setting via a new TIF flag in do_notify_resume(). On a tag check failure in user-space, whether synchronous or asynchronous, a SIGSEGV will be raised on the faulting thread. Signed-off-by:Vincenzo Frascino <vincenzo.frascino@arm.com> Co-developed-by:
Catalin Marinas <catalin.marinas@arm.com> Signed-off-by:
Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org>
parent
74f10824
No related branches found
No related tags found
Showing
- arch/arm64/include/asm/mte.h 23 additions, 0 deletionsarch/arm64/include/asm/mte.h
- arch/arm64/include/asm/thread_info.h 3 additions, 1 deletionarch/arm64/include/asm/thread_info.h
- arch/arm64/kernel/Makefile 1 addition, 0 deletionsarch/arm64/kernel/Makefile
- arch/arm64/kernel/entry.S 37 additions, 0 deletionsarch/arm64/kernel/entry.S
- arch/arm64/kernel/mte.c 21 additions, 0 deletionsarch/arm64/kernel/mte.c
- arch/arm64/kernel/process.c 7 additions, 1 deletionarch/arm64/kernel/process.c
- arch/arm64/kernel/signal.c 9 additions, 0 deletionsarch/arm64/kernel/signal.c
- arch/arm64/kernel/syscall.c 10 additions, 0 deletionsarch/arm64/kernel/syscall.c
- arch/arm64/mm/fault.c 8 additions, 1 deletionarch/arm64/mm/fault.c
Loading
Please register or sign in to comment