[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