diff options
author | Anshuman Khandual <anshuman.khandual@arm.com> | 2019-05-05 09:45:12 +0530 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2019-06-04 14:55:15 +0100 |
commit | 01de1776f62e6437ccd207181ec503e8a56e6128 (patch) | |
tree | e3e34df65141f255c243d9673a17bb1bf10d906e /arch/arm64/mm/fault.c | |
parent | 87dedf7c61ab07d7fe53bcf93103d2d845d804d8 (diff) | |
download | linux-01de1776f62e6437ccd207181ec503e8a56e6128.tar.bz2 |
arm64/mm: Identify user instruction aborts
We don't currently set the FAULT_FLAG_INSTRUCTION mm flag for EL0
instruction aborts. This has no functional impact, as we don't override
arch_vma_access_permitted(), and the default implementation always returns
true. However, it would be helpful to provide the flag so that it can be
consumed by tracepoints such as dax_pmd_fault.
This patch sets the FAULT_FLAG_INSTRUCTION flag for EL0 instruction aborts.
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/mm/fault.c')
-rw-r--r-- | arch/arm64/mm/fault.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index a30818ed9c60..392386a693fe 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -464,6 +464,7 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr, if (is_el0_instruction_abort(esr)) { vm_flags = VM_EXEC; + mm_flags |= FAULT_FLAG_INSTRUCTION; } else if ((esr & ESR_ELx_WNR) && !(esr & ESR_ELx_CM)) { vm_flags = VM_WRITE; mm_flags |= FAULT_FLAG_WRITE; |