Messages in this thread | | | Date | Wed, 3 Jul 2013 09:41:35 +1000 | From | Stephen Rothwell <> | Subject | Re: [GIT PULL] ext4 updates for 3.11 |
| |
On Tue, 2 Jul 2013 20:04:47 +0200 Jan Kara <jack@suse.cz> 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@canb.auug.org.au [unhandled content-type:application/pgp-signature] | |