[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+fCnZfRh=a1VQx7CaHAjTQw9888jxFHB0dJv5hkBW6v3njdkQ@mail.gmail.com>
Date: Mon, 23 Oct 2023 18:17:40 +0200
From: Andrey Konovalov <andreyknvl@...il.com>
To: Alexander Potapenko <glider@...gle.com>,
Anders Roxell <anders.roxell@...aro.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
andrey.konovalov@...ux.dev, Marco Elver <elver@...gle.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Vlastimil Babka <vbabka@...e.cz>, kasan-dev@...glegroups.com,
Evgenii Stepanov <eugenis@...gle.com>,
Oscar Salvador <osalvador@...e.de>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
Andrey Konovalov <andreyknvl@...gle.com>, arnd@...db.de,
sfr@...b.auug.org.au
Subject: Re: [PATCH v2 12/19] lib/stackdepot: use list_head for stack record links
On Mon, Oct 9, 2023 at 2:16 PM Alexander Potapenko <glider@...gle.com> wrote:
>
> On Sat, Sep 16, 2023 at 10:04 PM Andrew Morton
> <akpm@...ux-foundation.org> wrote:
> >
> > On Sat, 16 Sep 2023 19:43:35 +0200 Anders Roxell <anders.roxell@...aro.org> wrote:
> >
> > > On 2023-09-13 19:14, andrey.konovalov@...ux.dev wrote:
> > > > From: Andrey Konovalov <andreyknvl@...gle.com>
> > > >
> > > > Switch stack_record to use list_head for links in the hash table
> > > > and in the freelist.
> > > >
> > > > This will allow removing entries from the hash table buckets.
> > > >
> > > > This is preparatory patch for implementing the eviction of stack records
> > > > from the stack depot.
> > > >
> > > > Signed-off-by: Andrey Konovalov <andreyknvl@...gle.com>
> > > >
> > >
> > > Building on an arm64 kernel from linux-next tag next-20230915, and boot
> > > that in QEMU. I see the following kernel panic.
> > >
> > > ...
> > >
> > > The full log can be found [1] and the .config file [2]. I bisected down
> > > to this commit, see the bisect log [3].
>
> I am also seeing similar crashes on an x86 KMSAN build.
>
> They are happening when in the following code:
>
> list_for_each(pos, bucket) {
> found = list_entry(pos, struct stack_record, list);
> if (found->hash == hash &&
> found->size == size &&
> !stackdepot_memcmp(entries, found->entries, size))
> return found;
> }
>
> `found` is NULL
>
> @Andrey, could you please take a look?
Found a bug, will fix in v3. Thank you!
Powered by blists - more mailing lists