Messages in this thread | | | Date | Fri, 2 Feb 2024 21:31:22 +0000 | Subject | Re: [PATCH v2 0/3] Handle delay slot for extable lookup | From | Jiaxun Yang <> |
| |
在 2024/2/2 18:39, Linus Torvalds 写道: > On Fri, 2 Feb 2024 at 04:30, Jiaxun Yang <jiaxun.yang@flygoat.com> 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
| |