[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <mafs07bvbwipt.fsf@kernel.org>
Date: Thu, 27 Nov 2025 17:20:14 +0100
From: Pratyush Yadav <pratyush@...nel.org>
To: ranxiaokai627@....com
Cc: rppt@...nel.org, akpm@...ux-foundation.org, catalin.marinas@....com,
changyuanl@...gle.com, graf@...zon.com, pasha.tatashin@...een.com,
pratyush@...nel.org, kexec@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
ran.xiaokai@....com.cn
Subject: Re: [PATCH v4] KHO: Fix boot failure due to kmemleak access to
non-PRESENT pages
On Thu, Nov 27 2025, ranxiaokai627@....com wrote:
> From: Ran Xiaokai <ran.xiaokai@....com.cn>
>
> When booting with debug_pagealloc=on while having:
> CONFIG_KEXEC_HANDOVER_ENABLE_DEFAULT=y
> CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=n
> the system fails to boot due to page faults during kmemleak scanning.
>
> This occurs because:
> With debug_pagealloc is enabled, __free_pages() invokes
> debug_pagealloc_unmap_pages(), clearing the _PAGE_PRESENT bit for
> freed pages in the kernel page table.
> KHO scratch areas are allocated from memblock and noted by kmemleak. But
> these areas don't remain reserved but released later to the page allocator
> using init_cma_reserved_pageblock(). This causes subsequent kmemleak scans
> access non-PRESENT pages, leading to fatal page faults.
>
> Mark scratch areas with kmemleak_ignore_phys() after they are allocated
> from memblock to exclude them from kmemleak scanning before they are
> released to buddy allocator to fix this.
>
> Fixes: 3dc92c311498 ("kexec: add Kexec HandOver (KHO) generation helpers")
> Signed-off-by: Ran Xiaokai <ran.xiaokai@....com.cn>
> Reviewed-by: Mike Rapoport (Microsoft) <rppt@...nel.org>
Reviewed-by: Pratyush Yadav <pratyush@...nel.org>
Thanks!
[...]
--
Regards,
Pratyush Yadav
Powered by blists - more mailing lists