Re: + mm-mmapc-replace-find_vma_prepare-with-clearer-find_vma_links.patchadded to -mm tree
From: David Rientjes
Date: Tue Sep 11 2012 - 21:44:52 EST
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
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/