Re: [PATCH] sbitmap: avoid maybe-uninitialized warning

From: Jens Axboe
Date: Mon Sep 19 2016 - 10:43:23 EST


On 09/19/2016 06:33 AM, Arnd Bergmann wrote:
The sbitmap code that has just been turned into a library module
returns uninitialized data for sbitmap_weight(), as pointed out by
gcc when building with -Wmaybe-uninitialized:

lib/sbitmap.c: In function 'sbitmap_weight':
lib/sbitmap.c:179:9: error: 'weight' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Note that the value is never initialized, we just add data on
top, so it is wrong regardless of sb->map_nr.

This adds the missing initialization.

Thanks Arnd, Colin sent the same patch and I applied it. Note that:

Fixes: 88459642cba4 ("blk-mq: abstract tag allocation out into sbitmap library")

that isn't truly correct, that patch is just what moved the code. The bug predates that commit.

--
Jens Axboe