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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxx>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>

Looks like commit 6753c561f653 ("mm/zswap: add the flag can_sleep_mapped") introduced this warning.

> 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
> 

Reviewed-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux