From 54eb98b6f77e491259ac08a1172d36fd6ccf5284 Mon Sep 17 00:00:00 2001 From: Anand Je Saipureddy Date: Sat, 23 Jul 2022 12:19:43 +0530 Subject: [PATCH 315/323] ftrace: Fix improper usage of __trace_stack() function. Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In kernel/trace/trace_events_trigger.c --> stacktrace_trigger() --> __trace_stack() is not defined as per the function definition. With commit edbaaa13a660 ("tracing: Merge irqflags + preemt counter, add RT bits") the irqflags(flags) and preemption counter(preempt_count()) are now should be evaluated early by tracing_gen_ctx(). This patch replaces the irqflags and preemption counter with tracing_gen_ctx(). Fixes: 5e8446e3820c ("tracing: Dump stacktrace trigger to the corresponding instance") Link: https://lore.kernel.org/r/20220723064943.16532-1-s.anandje1@gmail.com Signed-off-by: Anand Je Saipureddy Reviewed-by: Corey Minyard Signed-off-by: Luis Claudio R. Goncalves --- kernel/trace/trace_events_trigger.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c index 75fef9fcfd0f..3c6229f16e81 100644 --- a/kernel/trace/trace_events_trigger.c +++ b/kernel/trace/trace_events_trigger.c @@ -1220,12 +1220,10 @@ stacktrace_trigger(struct event_trigger_data *data, void *rec, struct ring_buffer_event *event) { struct trace_event_file *file = data->private_data; - unsigned long flags; - if (file) { - local_save_flags(flags); - __trace_stack(file->tr, STACK_SKIP, preempt_count()); - } else + if (file) + __trace_stack(file->tr, tracing_gen_ctx(), STACK_SKIP); + else trace_dump_stack(STACK_SKIP); } -- 2.43.0