Messages in this thread | | | Subject | Re: [PATCH 01/13] seqnum_ops: Introduce Sequence Number Ops | From | Shuah Khan <> | Date | Wed, 11 Nov 2020 12:23:03 -0700 |
| |
On 11/10/20 5:18 PM, Kees Cook wrote: > On Tue, Nov 10, 2020 at 09:43:02PM +0100, Greg KH wrote: >> On Tue, Nov 10, 2020 at 09:41:40PM +0100, Greg KH wrote: >>> On Tue, Nov 10, 2020 at 12:53:27PM -0700, Shuah Khan wrote: >>>> +Decrement interface >>>> +------------------- >>>> + >>>> +Decrements sequence number and doesn't return the new value. :: >>>> + >>>> + seqnum32_dec() --> atomic_dec() >>>> + seqnum64_dec() --> atomic64_dec() >>> >>> Why would you need to decrement a sequence number? Shouldn't they just >>> always go up? >>> >>> I see you use them in your patch 12/13, but I don't think that really is >>> a sequence number there, but rather just some other odd value :) > > To that end, they should likely be internally cast to u32 and u64 (and > why is seqnum64 ifdef on CONFIG_64BIT?). >
I had a reason for doing this, can't recall. I will revisit and remove it which is ideal. I have to look at CONFIG_GENERIC_ATOMIC64 as well.
Not seeing any errors with my config which has CONFIG_64BIT=y
>> Note, other than this, I like the idea. It makes it obvious what these >> atomic variables are being used for, and they can't be abused for other >> things. Nice work. >
Thanks.
> Agreed: this is a clear wrapping sequence counter. It's only abuse would > be using it in a place where wrapping actually is _not_ safe. (bikeshed: > can we call it wrap_u32 and wrap_u64?) >
Still like seqnum_ops.
There is seqcount_t in seqlock.h which is a totally different feature.
thanks, -- Shuah
| |