On Thu, Sep 24, 2020 at 1:55 PM Marco Elver <elver@xxxxxxxxxx> wrote: > > On Thu, 24 Sep 2020 at 13:47, Alexander Potapenko <glider@xxxxxxxxxx> wrote: > > > > On Thu, Sep 24, 2020 at 6:05 AM Walter Wu <walter-zh.wu@xxxxxxxxxxxx> wrote: > > > > > > The aux_stack[2] is reused to record the call_rcu() call stack, > > > timer init call stack, and enqueuing work call stacks. So that > > > we need to change the auxiliary stack title for common title, > > > print them in KASAN report. > > > > > > Signed-off-by: Walter Wu <walter-zh.wu@xxxxxxxxxxxx> > > > Suggested-by: Marco Elver <elver@xxxxxxxxxx> > > > Acked-by: Marco Elver <elver@xxxxxxxxxx> > > > Reviewed-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> > > > Reviewed-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> > > > Cc: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> > > > Cc: Alexander Potapenko <glider@xxxxxxxxxx> > > > --- > > > > > > v2: > > > - Thanks for Marco suggestion. > > > - We modify aux stack title name in KASAN report > > > in order to print call_rcu()/timer/workqueue stack. > > > > > > --- > > > mm/kasan/report.c | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/mm/kasan/report.c b/mm/kasan/report.c > > > index 4f49fa6cd1aa..886809d0a8dd 100644 > > > --- a/mm/kasan/report.c > > > +++ b/mm/kasan/report.c > > > @@ -183,12 +183,12 @@ static void describe_object(struct kmem_cache *cache, void *object, > > > > > > #ifdef CONFIG_KASAN_GENERIC > > > if (alloc_info->aux_stack[0]) { > > > - pr_err("Last call_rcu():\n"); > > > + pr_err("Last potentially related work creation:\n"); > > > > This doesn't have to be a work creation (expect more callers of > > kasan_record_aux_stack() in the future), so maybe change the wording > > here to "Last potentially related auxiliary stack"? > > I suggested "work creation" as it's the most precise for what it is > used for now. I see, then maybe my suggestion is premature. > What other users do you have in mind in future that are not work creation? I think saving stacks may help in any case where an object is reused for a different purpose without reallocation. SKBs, maybe? -- Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Straße, 33 80636 München Geschäftsführer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg