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
0f17976568b3f ("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.

Signed-off-by: guoweikang <[email protected]>
---
 kernel/trace/ftrace.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 71e53eaba8bc..9b17efb1a87d 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -5093,6 +5093,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)
-- 
2.25.1


Reply via email to