Message ID | 20210121214804.926843-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm/zswap: Add return value in zswap_frontswap_load | expand |
Hi: On 2021/1/22 5:48, Nathan Chancellor wrote: > 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@kernelci.org> > Reported-by: kernel test robot <lkp@intel.com> Looks like commit 6753c561f653 ("mm/zswap: add the flag can_sleep_mapped") introduced this warning. > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > > 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 > Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>
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; }
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@kernelci.org> Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- Andrew, please fold this into mm-zswap-add-the-flag-can_sleep_mapped.patch mm/zswap.c | 1 + 1 file changed, 1 insertion(+) base-commit: bc085f8fc88fc16796c9f2364e2bfb3fef305cad