On Sat, 15 Aug 2026 19:10:34 +0000
[email protected] wrote:

> > diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
> > index 0356cae0cf74e..207f47f54dbbf 100644
> > --- a/kernel/trace/trace_events.c
> > +++ b/kernel/trace/trace_events.c
> > @@ -3866,6 +3866,8 @@ static __init void event_test_stuff(void)
> >     struct task_struct *test_thread;
> >  
> >     test_thread = kthread_run(event_test_thread, NULL, "test-events");
> > +   if (IS_ERR(test_thread))
> > +           return;  
> 
> [Severity: Medium]
> Does returning silently here cause the self-test framework to falsely report
> success when the workload thread cannot be created?
> 
> The caller event_trace_self_tests() unconditionally prints "OK" after calling
> this function:
> 
> kernel/trace/trace_events.c:event_trace_self_tests() {
>         ...
>               ftrace_event_enable_disable(file, 1);
>               event_test_stuff();
>               ftrace_event_enable_disable(file, 0);
> 
>               pr_cont("OK\n");
>       }
>         ...
> }
> 
> Should event_test_stuff() propagate the error so that the caller can correctly
> report the test failure or skip it appropriately?

Right, this is just a boot up test that is only done for debugging.
This is not something for production. If it fails, it should not fail
silently. If anything, it should be:

        if (WARN_ON(IS_ERR(test_thread))
                return;

-- Steve

Reply via email to