From: Tengda Wu <wutengda@huaweicloud.com> maillist inclusion category: bugfix bugzilla: https://atomgit.com/openeuler/kernel/issues/9357 Reference: https://lore.kernel.org/all/20260525132253.1889726-1-wutengda@huaweicloud.co... ------------------------------------------- When a task calls schedule() to yield the CPU, its state remains TASK_RUNNING, but its stack is frozen and safe to walk. Replace task_is_running(tsk) with tsk->on_cpu to avoid overly conservative rejections. Fixes: 54ecbe6f1ed5 ("rethook: Add a generic return hook") Signed-off-by: Tengda Wu <wutengda@huaweicloud.com> Signed-off-by: Tengda Wu <wutengda2@huawei.com> --- kernel/trace/rethook.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/trace/rethook.c b/kernel/trace/rethook.c index e34f322f334e..530ab6faf716 100644 --- a/kernel/trace/rethook.c +++ b/kernel/trace/rethook.c @@ -260,7 +260,7 @@ unsigned long rethook_find_ret_addr(struct task_struct *tsk, unsigned long frame if (WARN_ON_ONCE(!cur)) return 0; - if (tsk != current && task_is_running(tsk)) + if (tsk != current && tsk->on_cpu) return 0; do { -- 2.34.1