On 2024/5/15 5:55, Yang Shi wrote: > On Tue, May 14, 2024 at 3:42 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: >> >> On Tue, 14 May 2024 15:28:12 -0600 Yang Shi <shy828301@xxxxxxxxx> wrote: >> >>> On Tue, May 14, 2024 at 3:14 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: >>>> >>>> On Sat, 11 May 2024 11:54:35 +0800 Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote: >>>> >>>>> When I did memory failure tests recently, below panic occurs: >>>>> >>>>> kernel BUG at include/linux/mm.h:1135! >>>>> invalid opcode: 0000 [#1] PREEMPT SMP NOPTI >>>>> CPU: 9 PID: 137 Comm: kswapd1 Not tainted 6.9.0-rc4-00491-gd5ce28f156fe-dirty #14 >>>>> >>>>> ... >>>>> >>>>> --- a/mm/huge_memory.c >>>>> +++ b/mm/huge_memory.c >>>>> @@ -208,6 +208,7 @@ static bool get_huge_zero_page(void) >>>>> __free_pages(zero_page, compound_order(zero_page)); >>>>> goto retry; >>>>> } >>>>> + __SetPageReserved(zero_page); >>>>> WRITE_ONCE(huge_zero_pfn, page_to_pfn(zero_page)); >>>>> >>>>> /* We take additional reference here. It will be put back by shrinker */ >>>>> @@ -260,6 +261,7 @@ static unsigned long shrink_huge_zero_page_scan(struct shrinker *shrink, >>>>> struct page *zero_page = xchg(&huge_zero_page, NULL); >>>>> BUG_ON(zero_page == NULL); >>>>> WRITE_ONCE(huge_zero_pfn, ~0UL); >>>>> + __ClearPageReserved(zero_page); >>>>> __free_pages(zero_page, compound_order(zero_page)); >>>>> return HPAGE_PMD_NR; >>>>> } >>>> >>>> This causes a bit of a mess when staged ahead of mm-stable. So to >>>> avoid disruption I staged it behind mm-stable. This means that when >>>> the -stable maintainers try to merge it, they will ask for a fixed up >>>> version for older kernels so you can please just send them this >>>> version. >>> >>> Can you please drop this from mm-unstable since both I and David >>> nack'ed a similar patch in another thread. >>> https://lore.kernel.org/linux-mm/20240511032801.1295023-1-linmiaohe@xxxxxxxxxx/ >> >> That appears to link to the incorrect email thread? > > I meant that patch is actually same with this one. Just used folio > interface instead of page. I'm not sure why Miaohe posted two. Maybe > target to different version. Sorry for causing confusion. These two patches really target to different branch. This patch is for mainline and another one for mm-unstable. Thanks both. .