Re: [PATCH linux-next v2] DM RAID: validate_raid_redundancy: Silenceuninitialized variable warning

From: Tommi Rantala
Date: Thu Jun 13 2013 - 11:30:53 EST


2013/2/21 Tim Gardner <tim.gardner@xxxxxxxxxxxxx>:
> drivers/md/dm-raid.c:453:53: warning: 'rebuilds_per_group' may be used uninitialized in this function [-Wuninitialized]
> drivers/md/dm-raid.c:383:11: note: 'rebuilds_per_group' was declared here

Hello, is this patch getting merged? I'm also seeing this exact same
compiler warning in my mainline builds.

Tommi

>
> It is impossible that rebuilds_per_group could be used before set, but set
> it to 0 anyways to silence GCC warnings.
>
> Cc: Alasdair Kergon <agk@xxxxxxxxxx>
> Cc: dm-devel@xxxxxxxxxx
> Cc: Neil Brown <neilb@xxxxxxx>
> Cc: linux-raid@xxxxxxxxxxxxxxx
> Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
> ---
>
> v2 - Added GCC comment. Update commit log with a more definite explanation.
>
> As Neil has pointed out, https://lwn.net/Articles/529954/ indicates
> uninitialized_var() is going away.
>
> drivers/md/dm-raid.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c
> index 9d6bf19..1dbc341 100644
> --- a/drivers/md/dm-raid.c
> +++ b/drivers/md/dm-raid.c
> @@ -380,7 +380,8 @@ static int validate_region_size(struct raid_set *rs, unsigned long region_size)
> static int validate_raid_redundancy(struct raid_set *rs)
> {
> unsigned i, rebuild_cnt = 0;
> - unsigned rebuilds_per_group, copies, d;
> + unsigned rebuilds_per_group = 0; /* GCC 4.6.3 */
> + unsigned copies, d;
> unsigned group_size, last_group_start;
>
> for (i = 0; i < rs->md.raid_disks; i++)
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/