Re: [PATCH 1/4] locking/atomic/x86: Silence intentional wrapping addition

From: Kees Cook
Date: Thu May 02 2024 - 10:57:14 EST


On Fri, Apr 26, 2024 at 08:40:50AM +0100, David Howells wrote:
> Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
> > - return i + xadd(&v->counter, i);
> > + return wrapping_add(int, i, xadd(&v->counter, i));
>
> Ewww. Can't you just mark the variable as wrapping in some way, either by:
>
> unsigned int __cyclic counter;

Yeah, that's the plan now. Justin is currently working on the "wraps"
attribute for Clang:
https://github.com/llvm/llvm-project/pull/86618

--
Kees Cook