On Wed, 20 Feb 2013 23:16:37 +0100 Paul Menzel <pm.debian@xxxxxxxxxxxxxx> wrote: > Dear Tim, > > > thanks for the patch. > > > Am Mittwoch, den 20.02.2013, 13:31 -0700 schrieb Tim Gardner: > > Noting the `gcc` version and build environment is never wrong. ;-) > > > drivers/md/dm-raid.c: In function 'raid_ctr': > > 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 > > > > It appears unlikely that rebuilds_per_group could be used before set, > > Why? Otherwise the compiler would not complain, right? It is not simply unlikely, it is impossible. But gcc isn't that clever yet. > > --- a/drivers/md/dm-raid.c > > +++ b/drivers/md/dm-raid.c > > @@ -380,7 +380,7 @@ 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, copies, d; This should either be: unsigned uninitialized_var(rebuilds_per_group); unsigned copies, d; which the old way and is being deprecated, but at least is consistent with the kernel as it is, or unsigned rebuilds_per_group = 0 /* GCC */; unsigned copies,d; which is apparently the new way which I believe is due to be imposed on the kernel immediately after 3.9-rc1 https://lwn.net/Articles/529954/ NeilBrown
Attachment:
signature.asc
Description: PGP signature
-- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel