When building this kernel version this warning is visible:
kernel/trace/trace_events_synth.c: In function 'synth_event_reg': kernel/trace/trace_events_synth.c:847:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 847 | int ret = trace_event_reg(call, type, data); | ^~~
This can be easily fixed by declaring 'ret' earlier.
This issue is visible in < v5.18, because -std=gnu89 is used by default, see commit e8c07082a810 ("Kbuild: move to -std=gnu11").
Please note that in v5.15.y, the 'Fixes' commit has been modified during the backport, not to have this warning. See commit 72848b81b3dd ("tracing: Ensure module defining synth event cannot be unloaded while tracing") from v5.15.y.
Fixes: 21581dd4e7ff ("tracing: Ensure module defining synth event cannot be unloaded while tracing") Signed-off-by: Matthieu Baerts (NGI0) matttbe@kernel.org --- Cc: Douglas Raillard douglas.raillard@arm.com Cc: Masami Hiramatsu (Google) mhiramat@kernel.org Cc: Steven Rostedt (Google) rostedt@goodmis.org Cc: Mathieu Desnoyers mathieu.desnoyers@efficios.com --- kernel/trace/trace_events_synth.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/trace/trace_events_synth.c b/kernel/trace/trace_events_synth.c index 613d45e7b608..b126af59e61c 100644 --- a/kernel/trace/trace_events_synth.c +++ b/kernel/trace/trace_events_synth.c @@ -831,6 +831,7 @@ static int synth_event_reg(struct trace_event_call *call, enum trace_reg type, void *data) { struct synth_event *event = container_of(call, struct synth_event, call); + int ret;
switch (type) { #ifdef CONFIG_PERF_EVENTS @@ -844,7 +845,7 @@ static int synth_event_reg(struct trace_event_call *call, break; }
- int ret = trace_event_reg(call, type, data); + ret = trace_event_reg(call, type, data);
switch (type) { #ifdef CONFIG_PERF_EVENTS