Subject: Re: [PATCH 2/4] arm64: atomics: lse: Silence intentional wrapping addition

From: Kees Cook <[email-masked]>
Date: Thu, 2 May 2024 08:00:45 -0700

On Thu, May 02, 2024 at 12:21:28PM +0100, Will Deacon wrote:
> On Wed, Apr 24, 2024 at 12:17:35PM -0700, Kees Cook wrote:
> > Annotate atomic_add_return() and atomic_sub_return() to avoid signed
> > overflow instrumentation. They are expected to wrap around.
> > 
> > Signed-off-by: Kees Cook <[email-masked]>
> > ---
> > Cc: Will Deacon <[email-masked]>
> > Cc: Peter Zijlstra <[email-masked]>
> > Cc: Boqun Feng <[email-masked]>
> > Cc: Mark Rutland <[email-masked]>
> > Cc: Catalin Marinas <[email-masked]>
> > Cc: [email-masked]
> > ---
> >  arch/arm64/include/asm/atomic_lse.h | 10 ++++++----
> >  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> How come the ll/sc routines (in atomic_ll_sc.h) don't need the same
> treatment? If that's just an oversight, then maybe it's better to
> instrument the higher-level wrappers in asm/atomic.h?

Those are all written in asm, so there's no open-coded C arithmetic that
the sanitizers will notice. All is well there! :)

-- 
Kees Cook