lkml.org 
[lkml]   [2023]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 16/18] lib/stackdepot: annotate racy slab_index accesses
    On Tue, 31 Jan 2023 19:57:58 +0100 Andrey Konovalov <andreyknvl@gmail.com> wrote:

    > On Tue, Jan 31, 2023 at 9:41 AM Marco Elver <elver@google.com> 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!

    Please let's not redo an 18-patch series for a single line comment
    change. If there are more substantial changes then OK.

    I queued this as a to-be-squashed fixup against "/stackdepot: annotate
    racy slab_index accesses":


    From: Andrew Morton <akpm@linux-foundation.org>
    Subject: lib-stackdepot-annotate-racy-slab_index-accesses-fix
    Date: Tue Jan 31 01:10:50 PM PST 2023

    enhance comment, per Marco

    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andrey Konovalov <andreyknvl@google.com>
    Cc: Evgenii Stepanov <eugenis@google.com>
    Cc: Marco Elver <elver@google.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    ---

    lib/stackdepot.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/lib/stackdepot.c~lib-stackdepot-annotate-racy-slab_index-accesses-fix
    +++ a/lib/stackdepot.c
    @@ -271,7 +271,8 @@ depot_alloc_stack(unsigned long *entries

    /*
    * Move on to the next slab.
    - * WRITE_ONCE annotates a race with stack_depot_fetch.
    + * WRITE_ONCE pairs with potential concurrent read in
    + * stack_depot_fetch().
    */
    WRITE_ONCE(slab_index, slab_index + 1);
    slab_offset = 0;
    _

    \
     
     \ /
      Last update: 2023-03-27 00:04    [W:4.421 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site