[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20260121120804.d1334ea0cc66b4a6de691cbf@linux-foundation.org>
Date: Wed, 21 Jan 2026 12:08:04 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: ranxiaokai627@....com
Cc: pratyush@...nel.org, surenb@...gle.com, pasha.tatashin@...een.com,
kent.overstreet@...ux.dev, rppt@...nel.org, graf@...zon.com,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
kexec@...ts.infradead.org, ran.xiaokai@....com.cn
Subject: Re: [PATCH v3] kho: init alloc tags when restoring pages from
reserved memory
On Wed, 21 Jan 2026 14:34:30 +0000 ranxiaokai627@....com wrote:
> From: Ran Xiaokai <ran.xiaokai@....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 below warning message:
>
> alloc_tag was not set
> WARNING: include/linux/alloc_tag.h:164 at ___free_pages+0xb8/0x260, CPU#1: swapper/0/1
> RIP: 0010:___free_pages+0xb8/0x260
> kho_restore_vmalloc+0x187/0x2e0
> kho_test_init+0x3c4/0xa30
> do_one_initcall+0x62/0x2b0
> kernel_init_freeable+0x25b/0x480
> kernel_init+0x1a/0x1c0
> ret_from_fork+0x2d1/0x360
>
> Add missing clear_page_tag_ref() annotation in kho_restore_page() to
> fix this.
>
> Signed-off-by: Ran Xiaokai <ran.xiaokai@....com.cn>
> ---
> It is based on linux-next 20260120. I dont konw whether this base is ok ?
It's awkward.
Your v2 patch was based on Linus mainline. This is appropriate, as the
patch should be sent to Linus soon and it has cc:stable, so -stable
maintainers will try to backport it into earlier kernels.
However your v3 patch is dependent upon other material ("kho: simplify
page initialization in kho_restore_page()") which is scheduled for
6.20(?)-rc1.
For a prompt, backportable merge it's best to base the fix on latest
Linus mainline, please.
You didn't actually describe why v3 is different from v2. If the
v2->v3 changes are just nice-to-have then let's redo those and base
them on linux-next in the usual fashion.
Unless I'm missing something, your well-reviewed, decently-tested v2
patch remains suitable for upstreaming during 6.18-rcX?
Powered by blists - more mailing lists