On Wed, Feb 26, 2025 at 2:00 PM Peter Xu peterx@redhat.com wrote:
Acked-by: Peter Xu peterx@redhat.com
Thanks!
Some nitpicks below, maybe no worth for a repost..
Hi Andrew,
Could you please help squash the below change?
From 42273506ba00723151e3a08b4ffd3f2c303e7ccc Mon Sep 17 00:00:00 2001 From: Barry Song v-songbaohua@oppo.com Date: Wed, 26 Feb 2025 15:22:17 +1300 Subject: [PATCH] minor cleanup according to Peter Xu
According to Peter Xu: 1. Unnecessary line move. 2. Can drop this folio check as it just did check "!IS_ERR_OR_NULL(folio)" 3. Not sure if it can do any harm, but maybe still nicer to put swap before locking folio.
Signed-off-by: Barry Song v-songbaohua@oppo.com --- mm/userfaultfd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c index 2df5d100e76d..2955e20f86bf 100644 --- a/mm/userfaultfd.c +++ b/mm/userfaultfd.c @@ -1101,8 +1101,8 @@ static int move_swap_pte(struct mm_struct *mm, struct vm_area_struct *dst_vma,
orig_src_pte = ptep_get_and_clear(mm, src_addr, src_pte); set_pte_at(mm, dst_addr, dst_pte, orig_src_pte); - double_pt_unlock(dst_ptl, src_ptl); + return 0; }
@@ -1369,7 +1369,7 @@ static int move_pages_pte(struct mm_struct *mm, pmd_t *dst_pmd, pmd_t *src_pmd, folio = filemap_get_folio(swap_address_space(entry), swap_cache_index(entry)); if (!IS_ERR_OR_NULL(folio)) { - if (folio && folio_test_large(folio)) { + if (folio_test_large(folio)) { err = -EBUSY; folio_put(folio); goto out; @@ -1380,10 +1380,10 @@ static int move_pages_pte(struct mm_struct *mm, pmd_t *dst_pmd, pmd_t *src_pmd, pte_unmap(&orig_src_pte); pte_unmap(&orig_dst_pte); src_pte = dst_pte = NULL; - /* now we can block and wait */ - folio_lock(src_folio); put_swap_device(si); si = NULL; + /* now we can block and wait */ + folio_lock(src_folio); goto retry; } }