[PATCH for-next] riscv/mm/fault: Set FAULT_FLAG_INSTRUCTION flag in do_page_fault()
Palmer Dabbelt
palmer at dabbelt.com
Tue Sep 8 23:14:31 EDT 2020
On Fri, 04 Sep 2020 23:07:26 PDT (-0700), penberg at kernel.org wrote:
> If the page fault "cause" is EXC_INST_PAGE_FAULT, set the
> FAULT_FLAG_INSTRUCTION flag to let handle_mm_fault() and friends know
> about it. This has no functional changes because RISC-V uses the default
> arch_vma_access_permitted() implementation, which always returns true.
> However, dax_pmd_fault(), for example, has a tracepoint that uses
> FAULT_FLAG_INSTRUCTION, so we might as well set it.
>
> Signed-off-by: Pekka Enberg <penberg at kernel.org>
> ---
> arch/riscv/mm/fault.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c
> index a173432ccf82..1359e21c0c62 100644
> --- a/arch/riscv/mm/fault.c
> +++ b/arch/riscv/mm/fault.c
> @@ -234,7 +234,8 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
>
> if (cause == EXC_STORE_PAGE_FAULT)
> flags |= FAULT_FLAG_WRITE;
> -
> + else if (cause == EXC_INST_PAGE_FAULT)
> + flags |= FAULT_FLAG_INSTRUCTION;
> retry:
> mmap_read_lock(mm);
> vma = find_vma(mm, addr);
Thanks, this is on for-next.
More information about the linux-riscv
mailing list