Re: [RFC][PATCH] locking/refcount: Provide __refcount API to obtain the old value

From: Kees Cook
Date: Wed Jul 29 2020 - 16:53:01 EST


On Wed, Jul 29, 2020 at 09:41:37PM +0100, David Howells wrote:
> peterz@xxxxxxxxxxxxx wrote:
>
> > I'm not entirely sure what you mean with interpret, provided you don't
> > trigger a refcount fail, the number will be just what you expect and
> > would get from refcount_read(). If you do trigger a fail, you'll get a
> > negative value.
>
> That's fine. I seem to remember talk about the possibility that the number
> wouldn't necessarily bottom out at zero - for instance if it was arranged such
> that the overflow flag was set on an overflow or underflow so that it could be
> trapped on (using INTO or TRAPV, for example).

The trap is an internal detail. The saturation value will be negative,
though.

--
Kees Cook