The patch titled Subject: mm-fix-__wp_page_copy_user-fallback-path-for-remote-mm-fix has been added to the -mm mm-hotfixes-unstable branch. Its filename is mm-fix-__wp_page_copy_user-fallback-path-for-remote-mm-fix.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-fix-__wp_page_copy_user-fallback-path-for-remote-mm-fix.patch This patch will later appear in the mm-hotfixes-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm 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 via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: mm-fix-__wp_page_copy_user-fallback-path-for-remote-mm-fix Date: Fri Nov 1 12:03:22 PM PDT 2024 coding style tweaks Cc: Asahi Lina <lina@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Jia He <justin.he@xxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Sergio Lopez Pascual <slp@xxxxxxxxxx> Cc: Yibo Cai <Yibo.Cai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/memory.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) --- a/mm/memory.c~mm-fix-__wp_page_copy_user-fallback-path-for-remote-mm-fix +++ a/mm/memory.c @@ -3081,18 +3081,20 @@ static inline int __wp_page_copy_user(st update_mmu_cache_range(vmf, vma, addr, vmf->pte, 1); } - /* If the mm is a remote mm, copy in the page using access_remote_vm() */ - if (current->mm != mm) { - if (access_remote_vm(mm, (unsigned long)uaddr, kaddr, PAGE_SIZE, 0) != PAGE_SIZE) - goto warn; - } /* - * This really shouldn't fail, because the page is there - * in the page tables. But it might just be unreadable, - * in which case we just give up and fill the result with - * zeroes. + * If the mm is a remote mm, copy in the page using access_remote_vm() */ - else if (__copy_from_user_inatomic(kaddr, uaddr, PAGE_SIZE)) { + if (current->mm != mm) { + if (access_remote_vm(mm, (unsigned long)uaddr, kaddr, + PAGE_SIZE, 0) != PAGE_SIZE) + goto warn; + } else if (__copy_from_user_inatomic(kaddr, uaddr, PAGE_SIZE)) { + /* + * This really shouldn't fail, because the page is there + * in the page tables. But it might just be unreadable, + * in which case we just give up and fill the result with + * zeroes. + */ if (vmf->pte) goto warn; _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are mm-page_alloc-keep-track-of-free-highatomic-fix.patch mm-refactor-arch_calc_vm_flag_bits-and-arm64-mte-handling-fix.patch mm-fix-__wp_page_copy_user-fallback-path-for-remote-mm-fix.patch mm-consolidate-common-checks-in-hugetlb_get_unmapped_area-fix.patch mm-memoryc-remove-stray-newline-at-top-of-file.patch bootmem-stop-using-page-index-fix.patch mm-kasan-kmsan-copy_from-to_kernel_nofault-fix.patch tools-mm-free-the-allocated-memory-fix.patch memcg-v1-no-need-for-memcg-locking-for-mglru-fix.patch mm-vma-the-pgoff-is-correct-if-can_merge_right-fix.patch memcg-workingset-remove-folio_memcg_rcu-usage-fix.patch vma-detect-infinite-loop-in-vma-tree-fix.patch maple_tree-add-a-test-checking-storing-null-fix.patch fs-proc-kcorec-fix-coccinelle-reported-error-instances-fix.patch