Re: [PATCH] mm: page_ext: check if page_ext is not prepared

From: Michal Hocko
Date: Thu Nov 09 2017 - 02:57:16 EST


Andrew,

On Thu 09-11-17 13:35:53, Joonsoo Kim wrote:
> On Wed, Nov 08, 2017 at 03:21:06PM +0100, Michal Hocko wrote:
> > On Wed 08-11-17 16:59:56, Joonsoo Kim wrote:
> > > On Tue, Nov 07, 2017 at 10:47:30AM +0100, Michal Hocko wrote:
[...]
> > > > I suspec this goes all the way down to when page_ext has been
> > > > resurrected. It is quite interesting that nobody has noticed this in 3
> > > > years but maybe the feature is not used all that much and the HW has to
> > > > be quite special to trigger. Anyway the following should be added
> > > >
> > > > Fixes: eefa864b701d ("mm/page_ext: resurrect struct page extending code for debugging")
> > > > Cc: stable
> > >
> > > IIRC, caller of lookup_page_ext() doesn't check 'NULL' until
> > > f86e427197 ("mm: check the return value of lookup_page_ext for all
> > > call sites"). So, this problem would happen old kernel even if this
> > > patch is applied to old kernel.
> >
> > OK, then the changelog should mention dependency on that check so that
> > anybody who backports this patch to pre 4.7 kernels knows to pull that
> > one as well.
> >
> > > IMO, proper fix is to check all the pfn in the section. It is sent
> > > from Jaewon in other mail.
> >
> > I believe that this patch is valuable on its own and the other one
> > should build on top of it.
>
> Okay, agreed.

could you add a note that stable backporters need to consider
f86e427197. Something like

Cc: stable # depends on f86e427197

Thanks
--
Michal Hocko
SUSE Labs