[PATCH] mm/zswap: Add return value in zswap_frontswap_load

From: Nathan Chancellor
Date: Thu Jan 21 2021 - 16:50:20 EST


Clang warns:

mm/zswap.c:1271:6: warning: variable 'ret' is used uninitialized
whenever 'if' condition is true [-Wsometimes-uninitialized]
if (!entry->length) {
^~~~~~~~~~~~~~
mm/zswap.c:1322:9: note: uninitialized use occurs here
return ret;
^~~
mm/zswap.c:1271:2: note: remove the 'if' if its condition is always
false
if (!entry->length) {
^~~~~~~~~~~~~~~~~~~~~
mm/zswap.c:1259:9: note: initialize the variable 'ret' to silence this
warning
int ret;
^
= 0
1 warning generated.

Prior to "mm/zswap: add the flag can_sleep_mapped", this path always
returned 0. Restore that so we are not returning uninitialized memory.

Link: https://github.com/ClangBuiltLinux/linux/issues/1263
Reported-by: kernelci.org bot <bot@xxxxxxxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
---

Andrew, please fold this into

mm-zswap-add-the-flag-can_sleep_mapped.patch

mm/zswap.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/mm/zswap.c b/mm/zswap.c
index 6e0bb61d2a2c..a85334b719b9 100644
--- a/mm/zswap.c
+++ b/mm/zswap.c
@@ -1272,6 +1272,7 @@ static int zswap_frontswap_load(unsigned type, pgoff_t offset,
dst = kmap_atomic(page);
zswap_fill_page(dst, entry->value);
kunmap_atomic(dst);
+ ret = 0;
goto freeentry;
}


base-commit: bc085f8fc88fc16796c9f2364e2bfb3fef305cad
--
2.30.0