Re: [PATCH v2 0/6] wchan: Fix ORC support and leaky fallback

From: Josh Poimboeuf
Date: Wed Sep 29 2021 - 21:02:32 EST


On Wed, Sep 29, 2021 at 03:02:12PM -0700, Kees Cook wrote:
> 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?

It all looks sane to me. Thanks for cleaning up this mess.

- Should we use a similar sched wrapper for /proc/$pid/stack to make its
raciness go away?

- At the risk of triggering a much larger patch set, I suspect
get_wchan() can be made generic ;-) It's just a glorified wrapper
around stack_trace_save_tsk().

Regardless:

Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>

--
Josh