On Wed, Dec 24 2025, Fadouse wrote: > Hi Evangelos, Mike, Pasha, Pratyush, > > I independently hit a crash in the LUO/memfd restore path with > CONFIG_DEFERRED_STRUCT_PAGE_INIT=y, on a local build based on dd9b004b7ff3 > (x86_64 QEMU, 6.19.0-rc1 timeframe).
How? config KEXEC_HANDOVER depends on !DEFERRED_STRUCT_PAGE_INIT. So you shouldn't even be able to enable KHO or LUO with CONFIG_DEFERRED_STRUCT_PAGE_INIT=y. Are you sure it is enabled? > > In my reproducer, stage1 preserves a memfd via LUO and kexecs into stage2; > stage2 calls LIVEUPDATE_SESSION_FINISH without retrieving files. I observed > a reliable crash in adjust_managed_page_count() from kho_restore_page(). > > Minimal excerpt: > > stage2: start > stage2: retrieved session fd=4 > BUG: unable to handle page fault for address: 0000000000001410 > RIP: adjust_managed_page_count+0x29/0x40 > Call Trace: > kho_restore_page+0x18a/0x1c0 > kho_restore_folio+0xe/0x60 > memfd_luo_finish+0xe6/0x160 > luo_file_finish+0x188/0x240 > luo_session_finish+0x2c/0x80 > luo_session_ioctl+0xf5/0x170 > __x64_sys_ioctl+0x91/0xe0 > > Applying the patch in <[email protected]> makes the > issue no longer reproduce for me. > > I can share full logs and the small two-stage initramfs reproducer if needed. > > Thanks, > YanXin Li > > Tested-by: YanXin Li <[email protected]> > [...] -- Regards, Pratyush Yadav
