On Fri, Mar 8, 2019 at 3:11 AM Coly Li <colyli@xxxxxxx> wrote: > On 2019/3/8 6:10 上午, Nathan Chancellor wrote: > > When building with -Wsometimes-uninitialized, Clang warns: > > > > drivers/md/bcache/alloc.c:333:4: warning: variable 'bucket' is used > > uninitialized whenever 'if' condition is false > > [-Wsometimes-uninitialized] > > > > fifo_pop expands to a conditional depending on '!fifo_empty(...)', which > > is the same condition as the while loop. It seems Clang can't piece > > together that this condition will never been false as long as we are in > > the while loop because they are the same condition. It's easy enough to > > silence this warning by just explicitly zero initializing bucket. > > > > Link: https://github.com/ClangBuiltLinux/linux/issues/396 > > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > > Hi Nathan, > > Nice catch, I will add it to my for-test. Thanks. I saw the same warning but came up with a nicer (IMHO) fix, see https://lore.kernel.org/lkml/20190322143507.1256436-1-arnd@xxxxxxxx/T/#u Arnd