Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 575570f0 authored by Shaohua Li's avatar Shaohua Li Committed by Steven Rostedt
Browse files

tracing: Fix an unallocated memory access in function_graph



With CONFIG_DEBUG_PAGEALLOC, I observed an unallocated memory access in
function_graph trace. It appears we find a small size entry in ring buffer,
but we access it as a big size entry. The access overflows the page size
and touches an unallocated page.

Cc: <stable@kernel.org>
Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
LKML-Reference: <1280217994.32400.76.camel@sli10-desk.sh.intel.com>
[ Added a comment to explain the problem - SDR ]
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 8a4fd31e
Loading
Loading
Loading
Loading
+9 −1
Original line number Original line Diff line number Diff line
@@ -507,7 +507,15 @@ get_return_for_leaf(struct trace_iterator *iter,
			 * if the output fails.
			 * if the output fails.
			 */
			 */
			data->ent = *curr;
			data->ent = *curr;
			/*
			 * 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;
				data->ret = *next;
			else
				data->ret.ent.type = next->ent.type;
		}
		}
	}
	}