diff options
Diffstat (limited to 'kernel/trace/trace_functions_graph.c')
| -rw-r--r-- | kernel/trace/trace_functions_graph.c | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index 6bff2362578..6f233698518 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c @@ -507,7 +507,15 @@ get_return_for_leaf(struct trace_iterator *iter,  			 * if the output fails.  			 */  			data->ent = *curr; -			data->ret = *next; +			/* +			 * If the next event is not a return type, then +			 * we only care about what type it is. Otherwise we can +			 * safely copy the entire event. +			 */ +			if (next->ent.type == TRACE_GRAPH_RET) +				data->ret = *next; +			else +				data->ret.ent.type = next->ent.type;  		}  	} | 
