Re: [PATCH v2 0/9] thread_info: use helpers to snapshot thread flags

From: Mark Rutland
Date: Tue Jun 22 2021 - 10:45:56 EST


On Mon, Jun 21, 2021 at 06:54:53PM +0100, Will Deacon wrote:
> On Mon, Jun 21, 2021 at 10:05:52AM +0100, Mark Rutland wrote:
> > As thread_info::flags scan be manipulated by remote threads, it is
> > necessary to use atomics or READ_ONCE() to ensure that code manipulates
> > a consistent snapshot, but we open-code plain accesses to
> > thread_info::flags across the kernel tree.
> >
> > Generally we get away with this, but tools like KCSAN legitimately warn
> > that there is a data-race, and this is potentially fragile with compiler
> > optimizations, LTO, etc.
> >
> > These patches introduce new helpers to snahpshot the thread flags, with
> > the intent being that these should replace all plain accesses.
> >
> > Since v1 [1]:
> > * Drop RFC
> > * Make read_ti_thread_flags() __always_inline
> > * Clarify commit messages
> > * Fix typo in arm64 patch
> > * Accumulate Reviewed-by / Acked-by tags
> > * Drop powerpc patch to avoid potential conflicts (per [2])
> >
> > [1] https://lore.kernel.org/r/20210609122001.18277-1-mark.rutland@xxxxxxx
> > [2] https://lore.kernel.org/r/87k0mvtgeb.fsf@xxxxxxxxxxxxxxxxxx
> >
> > Thanks,
> > Mark.
> >
> > Mark Rutland (9):
> > thread_info: add helpers to snapshot thread flags
> > entry: snapshot thread flags
> > sched: snapshot thread flags
> > alpha: snapshot thread flags
> > arm: snapshot thread flags
> > arm64: snapshot thread flags
>
> FWIW, you have two identical arm64 patches in this series, just with a
> different subject.

Whoops; I'd tried to bring arm64 in line with the other patches, but
forgot to delete the stale patch file when I did that. I'll keep the
"snapshot thread flags" version.

> For the one you decide to keep:
>
> Acked-by: Will Deacon <will@xxxxxxxxxx>

Thanks!

Mark.