diff --git a/mm/zswap.c b/mm/zswap.c index 63fb94d68e10..69681b9173fd 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -1100,6 +1100,8 @@ static int zswap_writeback_entry(struct zswap_entry *entry, if (zswap_rb_search(&tree->rbroot, swp_offset(entry->swpentry)) != entry) { spin_unlock(&tree->lock); delete_from_swap_cache(page_folio(page)); + unlock_page(page); + put_page(page); ret = -ENOMEM; goto fail; }