Messages in this thread | | | Subject | Re: ARM + jprobes/kretprobes SEGV/hangs/OOPS in 2.6.29 kernel | From | Catalin Marinas <> | Date | Tue, 01 Sep 2009 15:43:59 +0100 |
| |
On Tue, 2009-09-01 at 15:25 +0100, Russell King wrote: > On Tue, Sep 01, 2009 at 02:54:54PM +0100, Catalin Marinas wrote: > > venki kaps <venkiece2005@gmail.com> wrote: > > > I have found the exact problem with respect to ARM jprobes. > > > > > > The problem with configure i.e, CONFIG_ARM_UNWIND = y; is enabled. > > > > I haven't followed the kprobes implementation for ARM but does it make > > any assumptions about the existence of a frame pointer on the stack? > > Enabling stack unwinding automatically disables the framepointer. > > If it uses CALLER_ADDRESSx() then it won't work with unwinding enabled. > See 5613/1 (which is pending in the devel branch.)
In addition to that, when CONFIG_FRAME_POINTER is disabled, the lr register isn't always saved on the stack by the called function. I'm not sure whether kretprobe_trampoline is aware of this.
-- Catalin
| |