]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mm/huge_memory: ensure huge_zero_folio won't have large_rmappable flag set
authorMiaohe Lin <linmiaohe@huawei.com>
Sat, 14 Sep 2024 01:53:06 +0000 (09:53 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Oct 2024 14:33:48 +0000 (16:33 +0200)
commit 2a1b8648d9be9f37f808a36c0f74adb8c53d06e6 upstream.

Ensure huge_zero_folio won't have large_rmappable flag set.  So it can be
reported as thp,zero correctly through stable_page_flags().

Link: https://lkml.kernel.org/r/20240914015306.3656791-1-linmiaohe@huawei.com
Fixes: 5691753d73a2 ("mm: convert huge_zero_page to huge_zero_folio")
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mm/huge_memory.c

index 4d9c1277e5e4d14c7d22e6afb1328e430ff8148d..cedc93028894c6f076dee87735167c4344643cf1 100644 (file)
@@ -214,6 +214,8 @@ retry:
                count_vm_event(THP_ZERO_PAGE_ALLOC_FAILED);
                return false;
        }
+       /* Ensure zero folio won't have large_rmappable flag set. */
+       folio_clear_large_rmappable(zero_folio);
        preempt_disable();
        if (cmpxchg(&huge_zero_folio, NULL, zero_folio)) {
                preempt_enable();