Re: [RFC PATCH 01/10] thread_info: add helpers to snapshot thread flags
From: Thomas Gleixner
Date: Sat Jun 19 2021 - 18:54:20 EST
On Wed, Jun 09 2021 at 13:19, Mark Rutland wrote:
> We have common helpers to manipulate individual thread flags, but where
> code wants to check several flags at once, it must open code reading
> current_thread_info()->flags and operating on a snapshot.
Who's we?
> As some flags can be set remotely it's necessary to use READ_ONCE() to
> get a consistent snapshot even when IRQs are disabled, but some code
> forgets to do this. Generally this is unlike to cause a problem in
> practice, but it is somewhat unsound, and KCSAN will legitimately warn
> that there is a data race.
>
> To make it easier to do the right thing, and to highlight that
> concurrent modification is possible, let's add a new helpers to
> snapshot
let's add? Why not simply "add"?
> +static inline unsigned long read_ti_thread_flags(struct thread_info *ti)
__always_inline() as Marco pointed out already
Other than those nitpicks:
Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>