Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] Silent Test Bypass --
--- Patch [1]: [PATCH] tracing: Fix crash passing ERR_PTR to kthread_stop() --- commit 40985725587eec80dcbbfbf251d18cd9797fe26c Author: Hui Su <[email protected]> tracing: Fix crash passing ERR_PTR to kthread_stop() event_test_stuff() calls kthread_run() and unconditionally passes the returned task_struct pointer to kthread_stop(). kthread_run() returns an error pointer such as ERR_PTR(-ENOMEM) when kthread creation fails, for example under memory pressure during the boot-time event self-test. kthread_stop() then dereferences the invalid pointer, crashing the kernel. > 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? > msleep(1); > kthread_stop(test_thread); > } -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=1
