On Wed, Jan 15, 2020 at 5:58 PM Marco Elver <elver@xxxxxxxxxx> wrote: > * set_bit - Atomically set a bit in memory > @@ -26,6 +27,7 @@ > static inline void set_bit(long nr, volatile unsigned long *addr) > { > kasan_check_write(addr + BIT_WORD(nr), sizeof(long)); > + kcsan_check_atomic_write(addr + BIT_WORD(nr), sizeof(long)); > arch_set_bit(nr, addr); > } It looks like you add a kcsan_check_atomic_write or kcsan_check_write directly next to almost any instance of kasan_check_write(). Are there any cases where we actually just need one of the two but not the other? If not, maybe it's better to rename the macro and have it do both things as needed? Arnd