Re: [PATCH 2/2] rcu: Dump vmalloc memory info safely

From: Joel Fernandes
Date: Sat Sep 02 2023 - 22:05:37 EST


On Sat, Sep 2, 2023 at 10:03 PM Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> wrote:
>
> On Sat, Sep 2, 2023 at 9:28 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Wed, 30 Aug 2023 11:04:00 +0000 "Joel Fernandes (Google)" <joel@xxxxxxxxxxxxxxxxx> wrote:
> >
> > > Currently, for double invoke call_rcu(), will dump rcu_head objects
> > > memory info, if the objects is not allocated from the slab allocator,
> > > the vmalloc_dump_obj() will be invoke and the vmap_area_lock spinlock
> > > need to be held, since the call_rcu() can be invoked in interrupt context,
> > > therefore, there is a possibility of spinlock deadlock scenarios.
> > >
> > > And in Preempt-RT kernel, the rcutorture test also trigger the following
> > > lockdep warning:
> >
> > "possibility of deadlock" sounds like something -stable kernels would
> > like to have fixed.
> >
> > Did you consider the desirability of a -stable backport?
> >
> > If so, are we able to identify a suitable Fixes: target?
>
> Good point, it should be:
> Fixes: 98f180837a89 ("mm: Make mem_dump_obj() handle vmalloc() memory")
>
> I am currently reworking the patch as Vlad was also concerned about
> (the existing) issue of accessing vm_struct fields without holding the
> lock [1].
>
> I will add this fixes tag to both patches for the v3 on the respin.
>

Sigh, I missed sharing the link to [1]:
[1] https://lore.kernel.org/all/20230901003321.GA3389909@xxxxxxxxxx/

thanks,

- Joel