]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mm/mmap.c: replace find_vma_prepare() with clearer find_vma_links()
authorHugh Dickins <hughd@google.com>
Fri, 7 Sep 2012 00:23:10 +0000 (10:23 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 7 Sep 2012 05:36:11 +0000 (15:36 +1000)
commit3dce04c0314036a5d05e4433f31cc32e296844db
tree038f445ba99bb02c67573d49d45bdef97409f179
parent3146c87bbe4f6aeda3e1e3aa2f66b18ebde32788
mm/mmap.c: replace find_vma_prepare() with clearer find_vma_links()

People get confused by find_vma_prepare(), because it doesn't care about
what it returns in its output args, when its callers won't be interested.

Clarify by passing in end-of-range address too, and returning failure if
any existing vma overlaps the new range: instead of returning an ambiguous
vma which most callers then must check.  find_vma_links() is a clearer
name.

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.

Signed-off-by: Hugh Dickins <hughd@google.com>
Cc: Benny Halevy <bhalevy@tonian.com>
Acked-by: Hillf Danton <dhillf@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/mmap.c