[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <86zf718072.fsf@kernel.org>
Date: Mon, 29 Dec 2025 22:09:21 +0100
From: Pratyush Yadav <pratyush@...nel.org>
To: Fadouse <fadouse@...ton.me>
Cc: Evangelos Petrongonas <epetron@...zon.de>, Mike Rapoport
<rppt@...nel.org>, Pasha Tatashin <pasha.tatashin@...een.com>, Pratyush
Yadav <pratyush@...nel.org>, Alexander Graf <graf@...zon.com>, Andrew
Morton <akpm@...ux-foundation.org>, Jason Miu <jasonmiu@...gle.com>,
linux-kernel@...r.kernel.org, kexec@...ts.infradead.org,
linux-mm@...ck.org, nh-open-source@...zon.com
Subject: Re: [PATCH] kho: add support for deferred struct page init
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 <20251216084913.86342-1-epetron@...zon.de> 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 <fadouse@...ton.me>
>
[...]
--
Regards,
Pratyush Yadav
Powered by blists - more mailing lists