Re: [PATCH v2] page_alloc: Fix freeing non-compound pages

From: Matthew Wilcox
Date: Tue Sep 29 2020 - 18:53:14 EST


On Mon, Sep 28, 2020 at 09:46:56PM -0700, Andrew Morton wrote:
> On Tue, 29 Sep 2020 02:17:19 +0100 Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
>
> > On Mon, Sep 28, 2020 at 06:03:07PM -0700, Andrew Morton wrote:
> > > On Sat, 26 Sep 2020 22:39:19 +0100 "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> wrote:
> > >
> > > > Here is a very rare race which leaks memory:
> > >
> > > Not worth a cc:stable?
> >
> > Yes, it probably should have been.
>
> Have you a feeling for how often this occurs?

I doubt it happens often. I don't think I could construct a workload to
make it happen frequently. Maybe more often with a virtualised workload
where a thread can be preempted between instructions.

> > I just assume the stablebot will
> > pick up anything that has a Fixes: tag.
>
> We asked them not to do that for mm/ patches. Crazy stuff was getting
> backported.

That's a shame. I'll try to remember to cc them explicitly in the future.

> > Although I'm now thinking of making that comment into kernel-doc and
> > turning it into advice to the caller rather than an internal note to
> > other mm developers.
>
> hm. But what action could the caller take? The explanatory comment
> seems OK to me.

Use compound pages instead of non-compound pages. Although Linus has
asked that people stop using __get_free_pages(), so maybe that will be
the direction we go in.

https://lore.kernel.org/lkml/CA+55aFwyxJ+TOpaJZnC5MPJ-25xbLAEu8iJP8zTYhmA3LXFF8Q@xxxxxxxxxxxxxx/