Message ID | 1557029712-3237-1-git-send-email-anshuman.khandual@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64/mm: Identify user instruction aborts | expand |
On Sun, May 05, 2019 at 09:45:12AM +0530, Anshuman Khandual wrote: > 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: Catalin Marinas <catalin.marinas@arm.com> > Cc: Will Deacon <will.deacon@arm.com> > Cc: Mark Rutland <mark.rutland@arm.com> Queued for 5.3. Thanks.
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index 1a7e92a..b641449 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -463,6 +463,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;
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: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> --- arch/arm64/mm/fault.c | 1 + 1 file changed, 1 insertion(+)