diff options
author | Chengming Zhou <zhouchengming@bytedance.com> | 2024-02-08 02:32:54 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-03-01 13:42:00 +0100 |
commit | dca1699502b1dcf304a9d08ebc8426ec9c134c66 (patch) | |
tree | 93baf4027bced03fde8461b72e652fd840b94b20 /mm | |
parent | cd5b167ae5471bf50e86e8e49a0283f46ad8e405 (diff) | |
download | linux-stable-dca1699502b1dcf304a9d08ebc8426ec9c134c66.tar.gz linux-stable-dca1699502b1dcf304a9d08ebc8426ec9c134c66.tar.bz2 linux-stable-dca1699502b1dcf304a9d08ebc8426ec9c134c66.zip |
mm/zswap: invalidate duplicate entry when !zswap_enabled
commit 678e54d4bb9a4822f8ae99690ac131c5d490cdb1 upstream.
We have to invalidate any duplicate entry even when !zswap_enabled since
zswap can be disabled anytime. If the folio store success before, then
got dirtied again but zswap disabled, we won't invalidate the old
duplicate entry in the zswap_store(). So later lru writeback may
overwrite the new data in swapfile.
Link: https://lkml.kernel.org/r/20240208023254.3873823-1-chengming.zhou@linux.dev
Fixes: 42c06a0e8ebe ("mm: kill frontswap")
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Nhat Pham <nphamcs@gmail.com>
Cc: Yosry Ahmed <yosryahmed@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/zswap.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/zswap.c b/mm/zswap.c index b6f4a1a76057..870fd6f5a5bb 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -1222,7 +1222,7 @@ bool zswap_store(struct folio *folio) if (folio_test_large(folio)) return false; - if (!zswap_enabled || !tree) + if (!tree) return false; /* @@ -1238,6 +1238,9 @@ bool zswap_store(struct folio *folio) } spin_unlock(&tree->lock); + if (!zswap_enabled) + return false; + /* * XXX: zswap reclaim does not work with cgroups yet. Without a * cgroup-aware entry LRU, we will push out entries system-wide based on |