[PATCH] kho: init alloc tags when restoring pages from reserved memory

Mike Rapoport rppt at kernel.org
Sun Jan 11 01:11:42 PST 2026


On Sat, Jan 10, 2026 at 04:28:43PM -0800, Andrew Morton wrote:
> On Fri,  9 Jan 2026 10:42:51 +0000 ranxiaokai627 at 163.com wrote:
> 
> > From: Ran Xiaokai <ran.xiaokai at zte.com.cn>
> > 
> > Memblock pages (including reserved memory) should have their allocation
> > tags initialized to CODETAG_EMPTY via clear_page_tag_ref() before being
> > released to the page allocator. When kho restores pages through
> > kho_restore_page(), missing this call causes mismatched
> > allocation/deallocation tracking and warning message:
> > alloc_tag was not set.
> > 
> > Add missing clear_page_tag_ref() annotation in kho_restore_page() to
> > fix this.
> 
> Great, thanks.
> 
> It would be helpful to quote that warning message in the patch
> changelog, please.
> 
> > --- a/kernel/liveupdate/kexec_handover.c
> > +++ b/kernel/liveupdate/kexec_handover.c
> > @@ -268,6 +268,7 @@ static struct page *kho_restore_page(phys_addr_t phys, bool is_folio)
> >  	else
> >  		kho_init_pages(page, nr_pages);
> >  
> > +	clear_page_tag_ref(page);
> >  	adjust_managed_page_count(page, nr_pages);
> >  	return page;
> >  }
> 
> Warning splats are pretty bad and it's desirable to fix this in
> previous kernel versions.
> 
> To do that it's best for us to identify which kernel version(s) should
> be patched, via a Fixes: tag in the changelog.
> 
> From a quick look, it appears that Pratyush's 12b9a2c05d1b ("kho:
> initialize tail pages for higher order folios properly") is a suitable
> anchor, what do people think?

I think it should be even earlier:
fc33e4b44b27 ("kexec: enable KHO support for memory preservation")
 
> Meanwhile I'll queue this up for some testing while awaiting maintainer
> feedback.

-- 
Sincerely yours,
Mike.



More information about the kexec mailing list