Re: [PATCH-next] fs/btrfs: Fix uninitialized variable

From: David Sterba
Date: Mon Apr 26 2021 - 16:22:00 EST


On Fri, Apr 23, 2021 at 01:42:01PM +0100, Khaled ROMDHANI wrote:
> The variable 'zone' is uninitialized which
> introduce some build warning.
>
> It is not always set or overwritten within
> the function. So explicitly initialize it.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Signed-off-by: Khaled ROMDHANI <khaledromdhani216@xxxxxxxxx>
> ---
> fs/btrfs/zoned.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c
> index 432509f4b3ac..42f99b25127f 100644
> --- a/fs/btrfs/zoned.c
> +++ b/fs/btrfs/zoned.c
> @@ -136,7 +136,7 @@ static int sb_write_pointer(struct block_device *bdev, struct blk_zone *zones,
> */
> static inline u32 sb_zone_number(int shift, int mirror)
> {
> - u64 zone;
> + u64 zone = 0;

This is exactly same as v1
https://lore.kernel.org/linux-btrfs/20210413130604.11487-1-khaledromdhani216@xxxxxxxxx/

It does fix the build warning but does not make sense in the code
because it would would silently let mirror == 4 pass. I think there was
enough feedback under the previous posts how to fix that properly.