mm/damon/paddr: fix missing folio_sz update in damon_pa_young()
authorKefeng Wang <wangkefeng.wang@huawei.com>
Wed, 8 Mar 2023 08:33:11 +0000 (16:33 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 3 May 2023 00:21:49 +0000 (17:21 -0700)
The *folio_sz in damon_pa_young() will be used(as last_folio_sz) by
__damon_pa_check_access(), so it's need to be updated, fix missing branch.

Link: https://lkml.kernel.org/r/20230308083311.120951-4-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/paddr.c

index b22f6fb..467b991 100644 (file)
@@ -134,10 +134,8 @@ static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz)
        }
 
        need_lock = !folio_test_anon(folio) || folio_test_ksm(folio);
-       if (need_lock && !folio_trylock(folio)) {
-               folio_put(folio);
-               return false;
-       }
+       if (need_lock && !folio_trylock(folio))
+               goto out;
 
        rmap_walk(folio, &rwc);