Hi Dave, I have been looking at the trace extension that you deliver together with crash. In the kernel I look at the trace_array is defined as: struct trace_array { struct list_head list; char *name; struct trace_buffer trace_buffer; #ifdef CONFIG_TRACER_MAX_TRACE /* */ struct trace_buffer max_buffer; bool allocated_snapshot; #endif .... However trace.c assumes that if the trace_buffer field exists then the max_buffer field also exists, which is not true. So if CONFIG_TRACER_MAX_TRACE is not defined in the kernel then the trace extension will fail when it is loaded with a message that the max_buffer field does not exist. To fix this then the statements: init_offset(trace_array, max_buffer); in the function init_offsets and ftrace_int_max_tr_trace(); in function ftrace_init should not be executed if the max_buffer field is not present. I have tested this and it works for me. Jan Jan Karlsson Senior Software Engineer System Assurance Sony Mobile Communications Tel: +46 703 062 174 |
-- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility