On Tue, 11 Sep 2012, Hugh Dickins wrote: > > > This does revert 2.6.27's dfe195fb79e88 ("mm: fix uninitialized variables > > > for find_vma_prepare callers"), but it looks like gcc 4.3.0 was one of > > > those releases too eager to shout about uninitialized variables: only > > > copy_vma() warns with 4.5.1 and 4.7.1, which a BUG on error silences. > > > > > > > That trick doesn't work if CONFIG_BUG=n. > > > > mm/mmap.c: In function 'copy_vma': > > mm/mmap.c:2344: warning: 'prev' may be used uninitialized in this function > > mm/mmap.c:2345: warning: 'rb_link' may be used uninitialized in this > > function > > mm/mmap.c:2345: warning: 'rb_parent' may be used uninitialized in this > > function > > Hmm, right: not an option I ever choose, and I hadn't given it a thought. > > But do we care? If this introduced the only such warning, I would care.
It now has the distinction of being the only warning for CONFIG_BUG=n in mm/*. > But that seems to be far from the case - building my usual config without > CONFIG_BUG gives me 36 warnings, of uninitialized and unused and > control reaches end of non-void varieties. > What's so special about copy_vma() that we can't fix it all up to use uninitialized_var() so this is handled the proper way? If CONFIG_BUG exists, then we should support it, right? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/