From: Arnd Bergmann <arnd@arndb.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Omar Sandoval <osandov@fb.com>,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] sbitmap: avoid maybe-uninitialized warning
Date: Mon, 19 Sep 2016 17:14:48 +0200 [thread overview]
Message-ID: <2163656.5SLNssdXj1@wuerfel> (raw)
In-Reply-To: <6efcc3e0-b85f-9612-2562-d37922a1dc92@kernel.dk>
On Monday, September 19, 2016 8:43:12 AM CEST Jens Axboe wrote:
> 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:
Ok, thanks!
> > 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.
It's not important as long as the bug is fixed now, but I think it was
correct before that move, we just lost the 'used=0' initialization,
which also triggered the warning:
-static unsigned int bt_unused_tags(struct blk_mq_bitmap_tags *bt)
-{
- unsigned int i, used;
-
- for (i = 0, used = 0; i < bt->map_nr; i++) {
- struct blk_align_bitmap *bm = &bt->map[i];
-
- used += bitmap_weight(&bm->word, bm->depth);
}
- return bt->depth - used;
}
Arnd
next prev parent reply other threads:[~2016-09-19 15:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-19 12:33 [PATCH] sbitmap: avoid maybe-uninitialized warning Arnd Bergmann
2016-09-19 14:43 ` Jens Axboe
2016-09-19 15:14 ` Arnd Bergmann [this message]
2016-09-19 15:22 ` Jens Axboe
2016-09-19 15:41 ` Omar Sandoval
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2163656.5SLNssdXj1@wuerfel \
--to=arnd@arndb.de \
--cc=axboe@kernel.dk \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=osandov@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.