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

Andrew Morton akpm at linux-foundation.org
Sat Jan 10 16:28:43 PST 2026


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?

Meanwhile I'll queue this up for some testing while awaiting maintainer
feedback.



More information about the kexec mailing list