diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-08-29 09:30:41 +0200 | 
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-08-29 09:31:47 +0200 | 
| commit | eebc57f73d42095b778e899f6aa90ad050c72655 (patch) | |
| tree | 2ba80c75e9284093e6d7606dbb1b6a4bb752a2a5 /kernel/trace/trace_functions_graph.c | |
| parent | d3a247bfb2c26f5b67367d58af7ad8c2efbbc6c1 (diff) | |
| parent | 2a4ab640d3c28c2952967e5f63ea495555bf2a5f (diff) | |
Merge branch 'for-ingo' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6 into x86/apic
Merge reason: the SFI (Simple Firmware Interface) feature in the ACPI
              tree needs this cleanup, pull it into the APIC branch as
	      well so that there's no interactions.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace_functions_graph.c')
| -rw-r--r-- | kernel/trace/trace_functions_graph.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index d2249abafb53..420ec3487579 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c @@ -843,9 +843,16 @@ print_graph_function(struct trace_iterator *iter)  	switch (entry->type) {  	case TRACE_GRAPH_ENT: { -		struct ftrace_graph_ent_entry *field; +		/* +		 * print_graph_entry() may consume the current event, +		 * thus @field may become invalid, so we need to save it. +		 * sizeof(struct ftrace_graph_ent_entry) is very small, +		 * it can be safely saved at the stack. +		 */ +		struct ftrace_graph_ent_entry *field, saved;  		trace_assign_type(field, entry); -		return print_graph_entry(field, s, iter); +		saved = *field; +		return print_graph_entry(&saved, s, iter);  	}  	case TRACE_GRAPH_RET: {  		struct ftrace_graph_ret_entry *field; | 
