Hi, This attempts to solve the issues from the discussion here[1]. Specifically: 1) wchan leaking raw addresses since 152c432b128c (v5.12). patch 1 fixes this with a revert. 2) wchan has been broken under ORC, seen as a failure to stack walk resulting in _usually_ a 0 value, since ee9f8fce9964 (v4.14). patches 2-5 fixes this with Qi Zheng's new get_wchan() and changes to the /proc code to use the new helper suggested by Peter to do the stack walk only if the process can be kept blocked: https://lore.kernel.org/lkml/20210929194026.GA4323@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ Peter, can you take this via -tip? Thanks! -Kees [1] https://lore.kernel.org/lkml/20210924054647.v6x6risoa4jhuu6s@xxxxxxxxxxxxxxxxxxxxxxxx/ v1: https://lore.kernel.org/lkml/20210924062006.231699-3-keescook@xxxxxxxxxxxx/ Kees Cook (5): Revert "proc/wchan: use printk format instead of lookup_symbol_name()" sched: Add wrapper for get_wchan() to keep task blocked proc: Use task_is_running() for wchan in /proc/$pid/stat proc: Only report /proc/$pid/wchan when process is blocked leaking_addresses: Always print a trailing newline Qi Zheng (1): x86: Fix get_wchan() to support the ORC unwinder arch/x86/kernel/process.c | 51 +++--------------------------------- fs/proc/array.c | 7 ++--- fs/proc/base.c | 20 ++++++++------ include/linux/sched.h | 1 + kernel/sched/core.c | 16 +++++++++++ scripts/leaking_addresses.pl | 3 ++- 6 files changed, 36 insertions(+), 62 deletions(-) -- 2.30.2