Re: [PATCH] x86, kasan: add KASAN checks to atomic operations

From: Peter Zijlstra
Date: Tue Mar 14 2017 - 11:34:44 EST


On Tue, Mar 14, 2017 at 04:22:52PM +0100, Dmitry Vyukov wrote:
> Any other suggestions?

> - return i + xadd(&v->counter, i);
> + return i + arch_xadd(&v->counter, i);

> +#define xadd(ptr, v) \
> +({ \
> + __typeof__(ptr) ____ptr = (ptr); \
> + kasan_check_write(____ptr, sizeof(*____ptr)); \
> + arch_xadd(____ptr, (v)); \
> +})

xadd() isn't a generic thing, it only exists inside x86 as a helper to
implement atomic bits.