From: Steven Rostedt <[email protected]>

If a user space stacktrace is requested when running a kernel thread, just
return, as there's no point trying to get the user space stacktrace as
there is no user space.

Signed-off-by: Steven Rostedt (Google) <[email protected]>
---
Changes since v5: https://lore.kernel.org/[email protected]

- Also add check for PF_USER_WORKER to test for kernel thread

 kernel/trace/trace.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 1b7db732c0b1..2cca29c9863d 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -3138,6 +3138,10 @@ ftrace_trace_userstack(struct trace_array *tr,
        if (!(tr->trace_flags & TRACE_ITER_USERSTACKTRACE))
                return;
 
+       /* No point doing user space stacktraces on kernel threads */
+       if (current->flags & (PF_KTHREAD | PF_USER_WORKER))
+               return;
+
        /*
         * NMIs can not handle page faults, even with fix ups.
         * The save user stack can (and often does) fault.
-- 
2.50.1



Reply via email to