On Tue, 2 Jul 2013 20:04:47 +0200 Jan Kara <jack@xxxxxxx> wrote: > > On Tue 02-07-13 10:18:32, Linus Torvalds wrote: > > Hmm I'm getting this compiler warning: > > > > fs/ext4/inode.c: In function ‘ext4_writepages’: > > fs/ext4/inode.c:2219:6: warning: ‘err’ may be used uninitialized in > > this function [-Wmaybe-uninitialized] > > > > and I think the compiler is right to warn. The 'err' variable is set > > inside a whilte() and an if() statement, and it is not at all obvious > > that those codepaths are always taken. > > > > Maybe that "map->m_len" is always guaranteed to be nonzero, and the > > "while()" statement could be a "do { } while()" one. But if so, make > > it so, don't write code as if it might never be executed, when the > > return value seems to *depend* on it being executed. > That's caused by my patches (only for certain gcc versions). map->m_len > is guaranteed to be > 0 in the first iteration (the function is called from > under if (map->m_len > 0)). I though Ted silenced that warning but > apparently he did not. The cleanest fix is likely to make a do-while loop > from that one. I'll send Ted a patch for that. I did report that warning about 4 weeks ago ... and provided a fix that was way over the top (but pointed out another problem that was fixed). -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
Attachment:
pgpxt44WgcMjp.pgp
Description: PGP signature