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