Re: [PATCH v2 0/3] Handle delay slot for extable lookup

From: Jiaxun Yang
Date: Fri Feb 02 2024 - 16:31:42 EST




在 2024/2/2 18:39, Linus Torvalds 写道:
On Fri, 2 Feb 2024 at 04:30, Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> wrote:
ptrace: Introduce exception_ip arch hook
MIPS: Clear Cause.BD in instruction_pointer_set
mm/memory: Use exception ip to search exception tables
Just to clarify: does that second patch fix the problem that
__isa_exception_epc() does a __get_user()?

No it only covers an obvious case when I was playing around exception_ip with kgdb.
There are still potential cases __isa_exception_epc may touch user space.

Because that mm/memory.c use of "exception_ip()" most definitely
cannot take a page fault.

So if MIPS cannot do that whole exception IP thing without potentially
touching user space, I do worry that we might just have to add a

#ifndef __MIPS__

around this all.

It is possible to perform exception_ip() without touching user space by saving "BadInstr" in pt_regs
at exception entries. For newer hardware it's as simple as saving an extra CP0 register, on older hardware
we may have to read it from user space.

+ Thomas (MIPS maintainer), what's your opinion?

Thanks

Possibly somehow limited to just the microMIPS/MIPS16e case in Kconfig instead?

Linus

--
---
Jiaxun Yang