From 4517a62d0cb2971f03e130692115e8b008bb1e57 Mon Sep 17 00:00:00 2001 From: Chris von Recklinghausen Date: Fri, 12 Apr 2024 15:16:58 -0400 Subject: [PATCH] mm/damon/paddr: fix missing folio_sz update in damon_pa_young() JIRA: https://issues.redhat.com/browse/RHEL-27741 commit 70307b0e297a6634be855c49525ccbea50922a90 Author: Kefeng Wang Date: Wed Mar 8 16:33:11 2023 +0800 mm/damon/paddr: fix missing folio_sz update in damon_pa_young() 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 Reviewed-by: SeongJae Park Signed-off-by: Andrew Morton Signed-off-by: Chris von Recklinghausen --- mm/damon/paddr.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index b22f6fbb5816..467b99166b43 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -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);