Re: [PATCH 16/18] lib/stackdepot: annotate racy slab_index accesses
From: Andrey Konovalov
Date: Tue Jan 31 2023 - 13:58:14 EST
On Tue, Jan 31, 2023 at 9:41 AM Marco Elver <elver@xxxxxxxxxx> wrote:
>
> > diff --git a/lib/stackdepot.c b/lib/stackdepot.c
> > index f291ad6a4e72..cc2fe8563af4 100644
> > --- a/lib/stackdepot.c
> > +++ b/lib/stackdepot.c
> > @@ -269,8 +269,11 @@ depot_alloc_stack(unsigned long *entries, int size, u32 hash, void **prealloc)
> > return NULL;
> > }
> >
> > - /* Move on to the next slab. */
> > - slab_index++;
> > + /*
> > + * Move on to the next slab.
> > + * WRITE_ONCE annotates a race with stack_depot_fetch.
>
> "Pairs with potential concurrent read in stack_depot_fetch()." would be clearer.
>
> I wouldn't say WRITE_ONCE annotates a race (race = involves 2+
> accesses, but here's just 1), it just marks this access here which
> itself is paired with the potential racing read in the other function.
Will do in v2. Thanks!