[PATCH] samples/ftrace: reject zero ftrace-ops call count

From: Samuel Moelius

Date: Mon Jun 08 2026 - 20:52:00 EST


The ftrace-ops sample exposes nr_function_calls as a module parameter
and uses it as the divisor when printing the measured time per call.
Loading the module with nr_function_calls=0 skips the benchmark loop and
then divides the elapsed time by zero, crashing the kernel during sample
module initialization.

Reject a zero call count before registering any ftrace ops.

Assisted-by: Codex:gpt-5.5-cyber-preview
Signed-off-by: Samuel Moelius <sam.moelius@xxxxxxxxxxxxxxx>
---
samples/ftrace/ftrace-ops.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/samples/ftrace/ftrace-ops.c b/samples/ftrace/ftrace-ops.c
index 68d6685c80bd..d5adaa61484f 100644
--- a/samples/ftrace/ftrace-ops.c
+++ b/samples/ftrace/ftrace-ops.c
@@ -190,6 +190,11 @@ static int __init ftrace_ops_sample_init(void)
tracer_irrelevant = ops_func_count;
}

+ if (!nr_function_calls) {
+ pr_err("nr_function_calls must be non-zero\n");
+ return -EINVAL;
+ }
+
pr_info("registering:\n"
" relevant ops: %u\n"
" tracee: %ps\n"
--
2.43.0