On Fri 19-05-17 22:39:36, Firo Yang wrote: > During showing the pagetypeinfo, we forgot to save the found page > and dereference a invalid page address from the stack. > > To fix it, save and reference the page address returned by > pfn_to_online_page().
Thanks for taking catching that and your fix. I have already posted a fix http://lkml.kernel.org/r/[email protected] earlier today. Sorry about troubles > Signed-off-by: Firo Yang <[email protected]> > --- > mm/vmstat.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/vmstat.c b/mm/vmstat.c > index c432e58..6dae6b2 100644 > --- a/mm/vmstat.c > +++ b/mm/vmstat.c > @@ -1223,7 +1223,8 @@ static void pagetypeinfo_showblockcount_print(struct > seq_file *m, > for (pfn = start_pfn; pfn < end_pfn; pfn += pageblock_nr_pages) { > struct page *page; > > - if (!pfn_to_online_page(pfn)) > + page = pfn_to_online_page(pfn); > + if (!page) > continue; > > /* Watch for unexpected holes punched in the memmap */ > -- > 2.9.4 > -- Michal Hocko SUSE Labs

