Messages in this thread | | | From | Dmitry Vyukov <> | Date | Tue, 14 Mar 2017 20:25:32 +0100 | Subject | Re: [PATCH] x86, kasan: add KASAN checks to atomic operations |
| |
On Tue, Mar 14, 2017 at 4:44 PM, Mark Rutland <mark.rutland@arm.com> wrote: >> > -static __always_inline int atomic_read(const atomic_t *v) >> > +static __always_inline int arch_atomic_read(const atomic_t *v) >> > { >> > - return READ_ONCE((v)->counter); >> > + return READ_ONCE_NOCHECK((v)->counter); >> >> Should NOCHEKC come with a comment, because i've no idea why this is so. > > I suspect the idea is that given the wrapper will have done the KASAN > check, duplicating it here is either sub-optimal, or results in > duplicate splats. READ_ONCE() has an implicit KASAN check, > READ_ONCE_NOCHECK() does not. > > If this is to solve duplicate splats, it'd be worth having a > WRITE_ONCE_NOCHECK() for arch_atomic_set(). > > Agreed on the comment, regardless.
Reverted xchg changes. Added comments re READ_ONCE_NOCHECK() and WRITE_ONCE(). Added file comment. Split into 3 patches and mailed.
Thanks!
| |