On Wed, 21 Jan 2026 14:34:30 +0000 [email protected] wrote:
> From: Ran Xiaokai <[email protected]>
>
> 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 <[email protected]>
> ---
> 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?