The patch titled Subject: mm/mremap: use pmd/pud_poplulate to update page table entries has been added to the -mm tree. Its filename is mm-mremap-use-pmd-pud_poplulate-to-update-page-table-entries.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mm-mremap-use-pmd-pud_poplulate-to-update-page-table-entries.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mm-mremap-use-pmd-pud_poplulate-to-update-page-table-entries.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxx> Subject: mm/mremap: use pmd/pud_poplulate to update page table entries pmd/pud_populate is the right interface to be used to set the respective page table entries. Some architectures like ppc64 do assume that set_pmd/pud_at can only be used to set a hugepage PTE. Since we are not setting up a hugepage PTE here, use the pmd/pud_populate interface. Link: https://lkml.kernel.org/r/20210616045239.370802-6-aneesh.kumar@xxxxxxxxxxxxx Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> Cc: Kalesh Singh <kaleshsingh@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Nicholas Piggin <npiggin@xxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/mremap.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) --- a/mm/mremap.c~mm-mremap-use-pmd-pud_poplulate-to-update-page-table-entries +++ a/mm/mremap.c @@ -26,6 +26,7 @@ #include <asm/cacheflush.h> #include <asm/tlbflush.h> +#include <asm/pgalloc.h> #include "internal.h" @@ -258,8 +259,7 @@ static bool move_normal_pmd(struct vm_ar VM_BUG_ON(!pmd_none(*new_pmd)); - /* Set the new pmd */ - set_pmd_at(mm, new_addr, new_pmd, pmd); + pmd_populate(mm, new_pmd, pmd_pgtable(pmd)); flush_tlb_range(vma, old_addr, old_addr + PMD_SIZE); if (new_ptl != old_ptl) spin_unlock(new_ptl); @@ -306,8 +306,7 @@ static bool move_normal_pud(struct vm_ar VM_BUG_ON(!pud_none(*new_pud)); - /* Set the new pud */ - set_pud_at(mm, new_addr, new_pud, pud); + pud_populate(mm, new_pud, pud_pgtable(pud)); flush_tlb_range(vma, old_addr, old_addr + PUD_SIZE); if (new_ptl != old_ptl) spin_unlock(new_ptl); _ Patches currently in -mm which might be from aneesh.kumar@xxxxxxxxxxxxx are mm-rename-pud_page_vaddr-to-pud_pgtable-and-make-it-return-pmd_t.patch mm-rename-pud_page_vaddr-to-pud_pgtable-and-make-it-return-pmd_t-fix-2.patch mm-rename-p4d_page_vaddr-to-p4d_pgtable-and-make-it-return-pud_t.patch mm-rename-p4d_page_vaddr-to-p4d_pgtable-and-make-it-return-pud_t-fix.patch selftest-mremap_test-update-the-test-to-handle-pagesize-other-than-4k.patch selftest-mremap_test-avoid-crash-with-static-build.patch mm-mremap-convert-huge-pud-move-to-separate-helper.patch mm-mremap-dont-enable-optimized-pud-move-if-page-table-levels-is-2.patch mm-mremap-use-pmd-pud_poplulate-to-update-page-table-entries.patch mm-mremap-hold-the-rmap-lock-in-write-mode-when-moving-page-table-entries.patch mm-mremap-allow-arch-runtime-override.patch powerpc-book3s64-mm-update-flush_tlb_range-to-flush-page-walk-cache.patch powerpc-mm-enable-have_move_pmd-support.patch