Commit 49006b4b authored by guoweikang's avatar guoweikang Committed by Luo Gengkun
Browse files

ftrace: Fix regression with module command in stack_trace_filter

stable inclusion
from stable-v5.10.231
commit 5dabb7af57bc72308a6e2e81a5dd756eef283803
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBEAMJ
CVE: CVE-2024-56569

Reference: https://git.kernel.org/stable/c/5dabb7af57bc72308a6e2e81a5dd756eef283803

--------------------------------

commit 45af52e7d3b8560f21d139b3759735eead8b1653 upstream.

When executing the following command:

    # echo "write*:mod:ext3" > /sys/kernel/tracing/stack_trace_filter

The current mod command causes a null pointer dereference. While commit
0f179765 ("ftrace: Fix regression with module command in stack_trace_filter")
has addressed part of the issue, it left a corner case unhandled, which still
results in a kernel crash.

Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://lore.kernel.org/20241120052750.275463-1-guoweikang.kernel@gmail.com


Fixes: 04ec7bb6 ("tracing: Have the trace_array hold the list of registered func probes");
Signed-off-by: default avatarguoweikang <guoweikang.kernel@gmail.com>
Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarLuo Gengkun <luogengkun2@huawei.com>
parent 345ca570
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -4312,6 +4312,9 @@ ftrace_mod_callback(struct trace_array *tr, struct ftrace_hash *hash,
	char *func;
	int ret;

	if (!tr)
		return -ENODEV;

	/* match_records() modifies func, and we need the original */
	func = kstrdup(func_orig, GFP_KERNEL);
	if (!func)