Messages in this thread | | | Date | Tue, 9 Dec 2014 13:33:42 +0000 | From | Steve Capper <> | Subject | Re: [PATCH v3 0/5] ARM64: Add kernel probes(Kprobes) support |
| |
On Thu, Dec 04, 2014 at 08:53:03PM +0900, Masami Hiramatsu wrote: > (2014/12/04 20:29), Steve Capper wrote: > > >> I'd like to ask you to try my fix on your machine, with my reproducing > >> methods. (do not use sytemtap nor perf, those can have other issues) > >> > > > > Thank you Masami, > > > > I tried the following commands: > > > > echo "p:trace_event_buffer_lock_reserve > > trace_event_buffer_lock_reserve" > > > /sys/kernel/debug/tracing/kprobe_events > > echo 1 > /sys/kernel/debug/tracing/events/kprobes/enable > > echo 1 > /sys/kernel/debug/tracing/events/sched/sched_process_exec/enable > > > > The system appeared okay, I then cat'ed out: > > # cat /sys/kernel/debug/tracing/kprobe_profile > > trace_event_buffer_lock_reserve 25 25 > > > > I got similar output (i.e. no crashes) both with and without the > > interrupt fix you recommended. > > > > I'm not sure how to interpret this, please let me know if you would > > like me to run any other tests? > > > > (I did also try your proposed fix with perf + memcpy and that crashed > > in a similar way as before). > > Hmm, then the bug is still there, and the bug may not be in the recursive > call path... We need to find another suspicious code in the patch. >
Not sure if this is helpful, but the following also caused a crash for me:
echo "p:trace_event_buffer_lock_reserve trace_event_buffer_lock_reserve" > /sys/kernel/debug/tracing/kprobe_events echo "p:memcpy memcpy" >> /sys/kernel/debug/tracing/kprobe_events echo 1 > /sys/kernel/debug/tracing/events/kprobes/enable
[immediate crash]
The crash point for me is in the arm64 ASID allocator, it again looks like the interrupts are in an unexpected state. (check_and_switch_context goes down the irqs disabled code path, I think incorrectly).
This occurred for me both with and without the proposed irq saving fix.
I will do some more digging.
Cheers, -- Steve
| |