trace: trace_kprobe.c always shows interrupts off
From: Mathieu Desnoyers
Date: Tue Nov 17 2015 - 11:35:46 EST
Hi,
I notice that trace_kprobe.c does local_save_flags() within
__kprobe_trace_func(), which is called (at least on x86) with
interrupts always disabled. This is then used as interrupt on/off
state within the recorded event, which is misleading.
I also don't understand why arch/x86/kernel/kprobes/ftrace.c
pre handler disables interrupts, considering the following
comment above arch/x86/kernel/kprobes/core.c: kprobe_int3_handler()
* Interrupts are disabled on entry as trap3 is an interrupt gate and they
* remain disabled throughout this function.
A struct pt_regs is received by this function, but I don't see
any way to get the state of irq enable/disable from struct pt_regs
across architectures.
Any thoughts on how to fix this ?
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/