[PATCH v4 2/2] kho: make preserved pages compatible with deferred struct page init

Andrew Morton akpm at linux-foundation.org
Tue Feb 24 10:30:22 PST 2026


On Fri, 20 Feb 2026 17:52:03 +0100 Michal Clapinski <mclapinski at google.com> wrote:

> From: Evangelos Petrongonas <epetron at amazon.de>
> 
> When CONFIG_DEFERRED_STRUCT_PAGE_INIT is enabled, struct page
> initialization is deferred to parallel kthreads that run later
> in the boot process.
> 
> During KHO restoration, deserialize_bitmap() writes metadata for
> each preserved memory region. However, if the struct page has not been
> initialized, this write targets uninitialized memory, potentially
> leading to errors like:
> BUG: unable to handle page fault for address: ...
> 
> Fix this by introducing kho_get_preserved_page(),  which ensures
> all struct pages in a preserved region are initialized by calling
> init_deferred_page() which is a no-op when deferred init is disabled
> or when the struct page is already initialized.
> 
> ...
>
>  static void __init deserialize_bitmap(unsigned int order,
>  				      struct khoser_mem_bitmap_ptr *elm)
>  {

Doesn't exist any more!

Can you please rework, retest and resend against mm.git's mm-new
branch?

	git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Thanks.



More information about the kexec mailing list