mm: Make copy_huge_page() always available
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 12 Jul 2021 15:32:07 +0000 (16:32 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 12 Jul 2021 18:30:56 +0000 (11:30 -0700)
commit79789db03fdd77510cfb35cb4b3bd52b6c50c901
tree44e6aba4c3735b180392437ef0d71f08a47337ee
parentefdb6720b44b2f016d2a04b2c84e577e57ed84bd
mm: Make copy_huge_page() always available

Rewrite copy_huge_page() and move it into mm/util.c so it's always
available.  Fixes an exposure of uninitialised memory on configurations
with HUGETLB and UFFD enabled and MIGRATION disabled.

Fixes: 8cc5fcbb5be8 ("mm, hugetlb: fix racy resv_huge_pages underflow on UFFDIO_COPY")
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/migrate.h
include/linux/mm.h
mm/migrate.c
mm/util.c