Re: [PATCH v3 4/7] x86: switch atomic.h to use atomic-instrumented.h

From: Andrey Ryabinin
Date: Fri Jun 16 2017 - 11:52:36 EST


On 06/06/2017 01:11 PM, Dmitry Vyukov wrote:
> Add arch_ prefix to all atomic operations and include
> <asm-generic/atomic-instrumented.h>. This will allow
> to add KASAN instrumentation to all atomic ops.
>
> Signed-off-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Will Deacon <will.deacon@xxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: kasan-dev@xxxxxxxxxxxxxxxx
> Cc: linux-mm@xxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Cc: x86@xxxxxxxxxx
>
> ---




> -static __always_inline void atomic_set(atomic_t *v, int i)
> +static __always_inline void arch_atomic_set(atomic_t *v, int i)
> {
> + /*
> + * We could use WRITE_ONCE_NOCHECK() if it exists, similar to
> + * READ_ONCE_NOCHECK() in arch_atomic_read(). But there is no such
> + * thing at the moment, and introducing it for this case does not
> + * worth it.
> + */


I'd rather remove this comment. I woudn't say that WRITE_ONCE() here looks confusing
and needs comment. Also there is no READ_ONCE_NOCHECK() in arch_atomic_read() anymore.

Otherwise,
Reviewed-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>

> WRITE_ONCE(v->counter, i);
> }
>