lkml.org 
[lkml]   [2022]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] mm/z3fold: do not unlock in z3fold_page_putback()
Date
From: Zeng Jingxiang <linuszeng@tencent.com>

z3fold_page_lock() will lock zhdr->page_lock
1630 z3fold_page_lock(zhdr);

return without unlocking zhdr->page_lock
1634 if (kref_put(&zhdr->refcount, release_z3fold_page_locked))
1635 return;

Signed-off-by: Zeng Jingxiang <linuszeng@tencent.com>
---
mm/z3fold.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/z3fold.c b/mm/z3fold.c
index f41f8b0d9e9a..03785832ad47 100644
--- a/mm/z3fold.c
+++ b/mm/z3fold.c
@@ -1632,13 +1632,14 @@ static void z3fold_page_putback(struct page *page)
list_del_init(&zhdr->buddy);
INIT_LIST_HEAD(&page->lru);
if (kref_put(&zhdr->refcount, release_z3fold_page_locked))
- return;
+ goto ret;
spin_lock(&pool->lock);
list_add(&page->lru, &pool->lru);
spin_unlock(&pool->lock);
if (list_empty(&zhdr->buddy))
add_to_unbuddied(pool, zhdr);
clear_bit(PAGE_CLAIMED, &page->private);
+ret:
z3fold_page_unlock(zhdr);
}

--
2.27.0
\
 
 \ /
  Last update: 2022-07-20 09:00    [W:0.033 / U:0.296 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site