On 10/22/16 00:42, Arnd Bergmann wrote: > The blkdev_report_zones produces a harmless warning when > -Wmaybe-uninitialized is set, after gcc gets a little confused > about the multiple 'goto' here: > > block/blk-zoned.c: In function 'blkdev_report_zones': > block/blk-zoned.c:188:13: error: 'nz' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > Moving the assignment to nr_zones makes this a little simpler > while also avoiding the warning reliably. I'm removing the > extraneous initialization of 'int ret' in the same patch, as > that is semi-related and could cause an uninitialized use of > that variable to not produce a warning. > > Fixes: 6a0cb1bc106f ("block: Implement support for zoned block devices") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > block/blk-zoned.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/block/blk-zoned.c b/block/blk-zoned.c > index 667f95d86695..472211fa183a 100644 > --- a/block/blk-zoned.c > +++ b/block/blk-zoned.c > @@ -80,7 +80,7 @@ int blkdev_report_zones(struct block_device *bdev, > unsigned int i, n, nz; > unsigned int ofst; > void *addr; > - int ret = 0; > + int ret; > > if (!q) > return -ENXIO; > @@ -179,14 +179,12 @@ int blkdev_report_zones(struct block_device *bdev, > > } > > + *nr_zones = nz; > out: > bio_for_each_segment_all(bv, bio, i) > __free_page(bv->bv_page); > bio_put(bio); > > - if (ret == 0) > - *nr_zones = nz; > - > return ret; > } > EXPORT_SYMBOL_GPL(blkdev_report_zones); Reviewed-by: Damien Le Moal <damien.lemoal@xxxxxxx> -- Damien Le Moal, Ph.D. Sr. Manager, System Software Research Group, Western Digital Corporation Damien.LeMoal@xxxxxxx (+81) 0466-98-3593 (ext. 513593) 1 kirihara-cho, Fujisawa, Kanagawa, 252-0888 Japan www.wdc.com, www.hgst.com -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html