]> 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>
Thu, 13 Sep 2012 00:58:31 +0000 (10:58 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Tue, 18 Sep 2012 06:04:15 +0000 (16:04 +1000)
commitd82dd0baa570c06770a792971f5859b276a68b2d
tree32e89fa1e3dcfae994b5485df4cf7dd9d5ceffce
parent52826834f495fa7ec02308d2896b968f6a07c946
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